2021-01-04 14:36:04 阅读(152)
从历史上看,我们工程团队的代码已经分为浏览器层(HTML、CSS和JavaScript)以及应用层(Java)。想象一下,HTML开发人员要求Java开发人员“A”和“B页面连接在一起,但这就是我们。该模型可以通过引入全栈工程师来创建良好的用户界面,然后生成应用程序来支持它。称他们为独角兽,但这就是我们想要的,在PayPal中,主要的阻滞剂是我们在浏览器和服务器之间建立的人工边界。Node.js使用javascript,帮助我们通过建立浏览器和服务端的应用程序来解决这个问题。它统一了我们的团队,让我们了解和应对技术堆栈中用户的任何需求。Node早期使用.像其他js一样,我们把Node放在Node上.js作为一个原型平台。和其他一样,它表现得很好,我们决定在产品上使用它。一开始,我们用express作为路由,nconf作为配置,grunt建立工作流。我们特别喜欢express框架的普及,但我们发现它并没有在多个开发团队中得到很好的扩展。express是非强制性的,允许您以任何方式设置服务器。它非常灵活,但不利于在大团队中保持一致。随着时间的推移,我们看到的模式脱颖而出,越来越多的人拿起node.转身进入Krakens.js,它不是一个框架本身,而是一个基于express的层,允许它扩展到更大的组织。我们希望我们的工程师专注于建立自己的应用程序,而不仅仅是建立自己的环境。到目前为止,我们在内部使用kraken.js已经好几个月了(不久,我们将开源),我们的工程师团队希望把它变成实时公司内部的node.js应用程序。促进Node.在产品方面,我们首先尝试node.js不是一个小应用程序,它是我们的账目总结页面,流量很大。我们计划使用它,但我们必须降低风险,所以我们同时建立了java应用程序。如果在nodee中,我们知道如何部署和测量java应用程序.js程序出了问题,我们可以快速切换到java。它为某些数据提供了设置。我们从1月份开始部署,花了我们几个月的时间研究node.js必要的基本东西。比如sessions,centralizedlogging,keystores。在此期间,我们有5名工程师在使用java工作。Java开发两个月后,两名工程师开始使用node.并行开发jsapp。在7月初,他们相互沟通,他们的应用程序具有相同的功能。node.js的应用程序在两个月后开始了一个更小的团队,但很快就赶上了。在几个细节脱颖而出后,我们运行了测试案例,两个应用程序通过了相同的功能测试。node.js是:1)建立40%甚至更少的文件提供了一个令人鼓舞的消息,表明javascript可以工作得更快,几乎是两倍甚至更快。我们都同意并做出了搁置java应用程序的决定。但问题是java工程师在项目开始时转向node.js很高兴在我们的工作流中提交代码,并且对提高我们的双重生产力没有信心。性能是一个快乐而有争议的话题。在我们的情况下,我们的一个团队有两个功能相同的应用程序:一个基于Spring使用java,另一个基于kraken.js使用express,dust.js等开源代码。该应用程序包含3套路由,每套路由2或5个请求,数据通过Dust渲染页面。在我们的测试路由中,我们收集的数据是吞吐量和响应时间,你可以看到我们的node.与Java应用程序相比,js应用程序:1)每秒请求的两倍。更有趣的是,更有趣的是,Node.JS应用程序是单核,Java中有五核。这一差距我们希望进一步加大。2)35%平均响应时间在同一页。这导致一些快速响应200ms的用户肯定会注意到。对于这个结果,我想解释一下:我们的框架使用两种不同的应用程序,它只是在不同的技术上进行平等测试。也许你的差别更大。也就是说,我们非常兴奋地看到node.js性能。Kraken:Node改变了PayPal开发文化.js框架PayPal(全球流行的网上支付服务)公司发布了Node.jsweb开发框架——Kraken。基于Express的Kraken,Express是目前Nodee.Web开发框架是js上最流行的MVC模式,通过提供一系列强大的特性,帮助开发者快速创建各种Web应用程序。在Express的基础上,Kraken提供了更稳定的功能集合,支持本地化、环境配置、应用安全等。为什么会有Kraken?此前,PayPal长期以来一直具有“非我创造”的文化,这导致PayPal采用新技术的态度非常消极,项目开发进度非常缓慢。由于PayPal行动缓慢,其他支付服务提供商Stripe和Square趁机成长,逐渐动摇了PayPal的市场地位。与此同时,PayPal当时的开发技术已经不能满足快速开发的需要,因为当时的开发基本上都是Java,Java不用Java就能完成。2012年4月,DavidMarcuss成为PayPal总裁,任命工程师团队在6周内重写支付系统,这是一个为PayPal带来35亿美元收入的系统。最后,工程师团队花了8周时间完成了这项任务,他们选择了Node。.js重新开发系统。当然,PayPal的其他大量子系统也需要集成到Node.js系统,所以一开始Node.js仅作为原型架构的快速开发。后来,越来越多的PayPal新开发项目逐渐采用Node.js和其他开源软件完成,这促成了Kraken,可以快速开发web应用.js项目的诞生。下面简单总结分析一下Kraken的框架结构和特点,希望能帮助大家更好的了解Kraken。Kraken框架套件Kraken框架套件包括多个部分,Kraken.js只是框架的主要部分。该框架还包括其他模块(可独立使用):lusca:支持Express应用程序安全模块makarara:支持Dust.Adaro的国际化(i18n)模块:Dusttts支持Express.Kappapp视图渲染器:除上述可独立使用的模块外,NPM代理插件,Kraken套件还包括一系列依赖和实用工具:Generator-kraken:Yeoman生成器Enrouten:用于Express的路由(route)配置中间件(初始化和配置模块)Kraken-devtools:通过前面的介绍,Kraken应用程序开发所需的工具集合了Kraken的特点,我们已经基本了解了Kraken到底是怎么回事,那么Kraken到底有什么吸引开发者的特点呢?1.Kraken将生成的项目配置、内容和模板、路由逻辑(routinglogic)在不同的位置,方便开发者组织和管理文件。下面,让我们详细了解Kraken创建项目的基本结构:/config,存储应用程序及中间件配置/controllers,控制器/lib,存储开发人员定制的库文件和其他代码/locales,特定语言内容/models,模型/public,公共网络资源/public/templates,服务器和浏览器端模板/test,index存储单元和功能测试用例.js,随着项目的不断发展,这种组织方式和策略将对开发者更加友好。2.Kraken在开发环境和生产环境之间取得良好平衡的配置文件为/config/app.json,在运行过程中,它会加载文件中包含的键值对。2.Kraken的配置文件,平衡开发环境和生产环境,为/config/app.json,它将在运行过程中加载文件中包含的键值对。本文件中存储了所有的应用程序配置,极大地方便了开发者。/config/middleware.json是自定义的中间件配置文件。说到开发环境和生产环境,端口号和主机名称的参数设置通常是不同的。Kraken允许创建开发模式下使用的配置文件,如/config/app.json是生产环境中的配置,/config/app-development.json是开发环境下的配置,然后可以定制环境变量(定义环境变量NODE_ENV为production或productiondevelopment)控制要加载的配置文件。这样,开发者就可以在生产环境和开发环境中快速切换!3.注意安全,通过Lusca模块护送安全,遵循OWASP安全原则。同时,默认情况下,所有请求/响应头文件都被调用和启用:伪造跨站请求(CSRF)标头内容安全策略(CPS)标头隐私优先项目平台(P3P)标头X-FRAME-OPTIONS防止点击劫持4。同时,它还具有以下特点:路由(route)与逻辑(logic)分离:方便程序运行失败时快速锁定问题。模板(template)共享:Kraken选择Dust作为模板语言,同时在服务器端和客户端使用相同的模板,使代码可以重用。支持本地化:Kraken在运行过程中可以根据要求加载内容包(contentbundle),因此,在模板渲染之前,可以通过添加上下文为用户提供相应的本地语言支持,大大提高了应用程序的友好性。关于Kraken的示例和文档,官方给出了以下两个示例,可以帮助您学习和理解:例1:本地化和国际化:增加对Web应用程序的多语言支持,使用户可以使用当地语言使用Web应用程序例2:部署中间件:创建网页计数器,解释如何在应用生命周期中部署中间件开源项目Kraken是一个开源项目(分发协议为Apachelicensev2.0),每个人都可以对项目进行Fork和提交修改。它还提供了一个简单的使用文档。它还提供了一个简单的使用文档。Github页面可以查看项目源代码和文档。最后,任何项目的诞生都有自己的背景,必须有相应的需求驱动。就像Kraken一样,正是因为PayPal选择了Noden,以满足其快速开发Web应用程序的强烈需求.js,才有了这个项目。同时,还需要注意工程师团队中存在的“非我创造”文化,对新技术采取积极态度,不能保持不变,否则会阻碍企业的发展。
以上就是关于应用和开发案例:PayPal对Node.js的相关介绍,更多应用和开发案例:PayPal对Node.js相关内容可以咨询我们或者浏览页面上的推荐内容。我们将让你对应用和开发案例:PayPal对Node.js有更深的了解和认识。
推荐阅读
最新文章
猜你喜欢以下内容:
一 客户顾问-张三 一