应用和开发案例:PayPal对Node.js
2021-01-04 14:36:04 阅读(168) 评论(0)
从历史上看,我们工程团队的代码已经分为浏览器层(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,才有了这个项目。同时,还需要注意工程师团队中存在的“非我创造”文化,对新技术采取积极态度,不能保持不变,否则会阻碍企业的发展。
推荐阅读
- 香奈儿商标惹上了中国兵器?胡扯!
最近两条关于商标的新闻,均涉及到了国际知名品牌香奈儿有报道称:中国武术协会贵州分会认为法国奢侈品品牌香奈儿(Chanel)的商标涉嫌抄袭中国传统武器八卦子午鸳鸯钺,指责该公司亵渎中国文化,并向法院对香奈儿提起诉讼。据报道,香奈儿的商标与八卦…查看详情
- 2022推荐10款好用到爆的软件,你收藏了几款?
相信大家平时手机里面都备用了自己喜欢方便好用的app软件,这些软件成为了大家的必备软件,下面小编就给大家来详细介绍一下2022推荐10款好用到爆的软件这一块的内容,希望能帮助到大家! 2022推荐10款好用到爆的软件 1、《UC浏览器》…查看详情
- 小说有声阅读软件有哪些 好用的小说有声阅读软件
每个人晚上入睡的方式都不一样,有的人喜欢听小说,所以,晚上的时候,就会听着小说睡觉,但是,并不是每个软件都可以听小说的,需要下载对应的软件,小说有声阅读软件有哪些? 1、掌阅听书 全面塑造史上最强力的APP:大量原版、永久免…查看详情
- 客服系统排行榜,客服系统哪种好用?
现在各个行业也都非常注重于给消费者带来的优质服务,所以也都会使用可客服系统来增加办事的效率,而这样的系统在市场中,也是越来越多了,大家可能在选择的时候也会非常的迷茫,不知道哪一款系统更值得选择,那么客服系统排行榜有哪些呢?哪种好…查看详情
- 专利技术申请程序 专利技术如何申请
在平时很多的小伙伴都不知道专利技术申请程序的基本情况,而且对专利技术申请程序都不是很熟悉,下面万商云集小编就为大家整理了专利技术申请程序这方面的相关内容,希望下面的内容能帮助到各位。 一、专利技术申请程序 《中华人民共和国专利…查看详情
- 2021年开始做电子商务怎么样?是否已经晚了?
电子商务如今作为一种新型网上贸易方式,使企业与消费者摆脱了传统的商业束缚,网络支付也逐渐引起大家的关注。国内的电商已经从第一代发展到了第三代电商,行业虽然规范度还不是特别清晰,但也已相对完善。那么现在开始做电子商务怎么样?是否算晚? 图片来…查看详情
- 钉钉视频会议爆满怎么解决,这几种方法可以解决
相信大家平时在疫情期间都使用过钉钉来进行学习和进行视频会议, 但是很多的时候会遇到一个问题就是视频会议爆满的情况,下面小编就给大家来详细介绍一下如何解决这个问题。 钉钉视频会议爆满怎么解决 1、在钉钉软件我的界面里,点击设置按钮。…查看详情
- 专利权的保护期是多久?专利权的保护期时长
任何专利发明都是有保护期的,专利权也不例外,下面万商云集小编为大家介绍下专利权的保护期时长的相关问题,希望下面的内容能帮助到大家。 一、专利权的保护期是多久?专利权的保护期时长 专利权保护期限:发明专利权的保护期限为二十年,…查看详情
- 这8款微信插件一定要安装,让你的微信比别人更方便
在使用微信这个平台时,插件作为必然之势,许多衍生的功能都有外界的丰富的组件库和功能库的支撑。小程序插件的设计,可以让第三方服务成为一种更可靠的模式被使用,你知道有哪些好用的微信插件吗?这8款微信插件一定要安装。 1.微信伴侣-自动抢红包 微…查看详情
- ug是什么软件
UG是用来干什么的?UG软件主要功能是将原有2维平面制图拓展至三维立体制图的软件,主要是迅速帮助设计加工等人员认知产品结构,还可向下生成2维图纸并标注细节尺寸、表面要求、技术要求等。相同类型软件有pro/E,solidworks,CATIA…查看详情
- 淘宝用户钻石等级有什么用?
淘宝店铺的五星和钻石哪个好?淘宝的钻和星,这是对淘宝荣誉的描述。钻的比星的好,说明店铺经营时间长,卖的东西多,更容易让人信任。 淘宝将消费者和企业分为四个阶段。每个阶段分为五个等级。四个阶段是心形、钻石和两种不同颜色的皇冠。每次在淘宝,网…查看详情
- 有哪些高效又操作方便的剪辑软件
有越来越多的人,想要通过视频剪辑的方法来让自己的事业发展的日益壮大,既然是想要学习视频剪辑,那么必然会少不了一些剪辑软件,那么有哪些高效又操作方便的剪辑软件推荐呢? 1、必剪 这款软件是专门由b站出的,因为b站也算是一个视…查看详情
- ems网点的优缺点总结大全
ems网点作为全国范围最广的快递网点,相信许多人都用它寄存过东西。作为中国速递行业的最大运营商和领导者,它能吸引人们的不仅仅是因为它的范围广阔,还由于它各处优于其它网点的特点,那么今天我们来分析一下ems网点的优缺点。…查看详情
- 想做电商运营高手?先看看电商运营需要哪些能力吧
在这弥漫着电商气息的社会里,人们总想着依靠电商能够发家致富。但是很多新手卖家往往在开店之后就不知道该怎么运营,甚至不知道电商运营需要哪些能力才可以胜任,导致店铺逐渐没落。那么作为电商运营者,又该具有那些能力呢?针对这个问题,接下来小万就来和…查看详情
猜你喜欢
最新文章

扫码二维码
立即领取《千元实战营销秘籍》
还可免费试用营销管理系统
*如有疑问,请随时拨打免费咨询热线:400-0033-166
服务时间:8:30-18:00
软件企业
认定号:川RQ-2018-0216
高新技术企业
认定号:GR201951001121

关注微信公众号
和10万中小企业共同成长

扫码下载APP
享全方位服务一触即达
Copyright © 2004-2022 万商云集(成都)科技股份有限公司 版权所有
蜀ICP备12001963号-2
川公网安备 51010402000322号

快速找产品

找一找哪款产品适合您?
咨询热线:400-0033-166
-


-
电话沟通
获取方案
下载APP
官方微信
扫码下载APP
全方位服务一触即达

关注万商云集
和10万中小企共成长

TOP

企业首选的数字选用平台

400-0033-166
8:30-18:00















































注册有好礼



