应用和开发案例:PayPal对Node.js
2021-01-04 14:36:04 阅读(151) 评论(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,才有了这个项目。同时,还需要注意工程师团队中存在的“非我创造”文化,对新技术采取积极态度,不能保持不变,否则会阻碍企业的发展。
推荐阅读
- 小米系统语音引擎有什么用
小米系统的语音引擎是一项重要的技术,它为用户提供了多种便利和功能。随着科技的不断进步,语音识别和语音交互技术正在成为智能手机很重要的部分,小米作为一家知名的科技公司,致力于为用户提供全面的智能体验,其中的语音引擎在实现这一目标方面发挥了重要…查看详情
- 便利店收银系统价格,8款常用收银系统推荐
新零售时代,便利店分布城市的每个角落,其规模已经达到非常可观的程度,这期间的操作和运转离不开一个功能强大的收银系统,那么你知道市场上便利店收银系统价格是怎么样的一个情况吗?小编整理了8款市面常用的便利店收银系统供大家参考。 1.客如云智慧零…查看详情
- 国外直播软件有哪些?国外十大直播软件
现在看直播的人数是越来越多,基本上可以说是全名直播了,目前国外的直播也是非常火爆的,下面万商云集小编给大家来详细介绍一下国外直播软件有哪些?国外十大直播软件这方面的内容,希望能帮助到大家了解到国外直播这一块。 一、Live.me 美国爆…查看详情
- 作品版权登记多少钱?总费用受多个因素影响
为了更好地保护自己的作品,很多人都会选择为这些作品申请版权。在我国版权申请登记需要缴纳申请的费用,也就是我们所说的版权登记费。那么通常作品版权登记多少钱呢?一起接着往下看。图片来源于网络作品版权登记多少钱?由两种费用构成总费用。作品版权登记…查看详情
- 淘宝领取方式有哪些?红包该怎么抢?
怎样在淘宝网抢红包?抢红包的技巧: 1.下载按键精灵录制好鼠标点击的步骤; 2整点前几分钟不断刷新屏幕,整点一分钟左右的时间是抢红包的黄金时间,建议手动点击鼠标,同时不断按F5刷新. 3超级红包阶段,尽量快速点击黑猫提高中奖的概率. …查看详情
- 2021免费资产管理软件大盘点
企业在发展的过程中免不了会有资产的风险,资产管理是企业发展的基础,也是它经营的一部分,针对财产的管理就要求助于相关的资产管理软件,今天就给大家盘点一下那些免费资产管理软件。 1.易盘点免费资产管理软件 易盘点是为企业固定资产提供全生命周期管…查看详情
- 好用的小区物业智能门禁系统推荐
目前社会发展越来越快,人们对各方面的安全要求也越来越高,家居安全也是其中之一,所以小区物业智能门禁系统也就应时而生,安全性能高还便于物业管理。市场上现在拥有众多知名的智能门禁品牌,那么到底哪些是真正好用便捷的呢?看小编给大家盘点盘点好用的小…查看详情
- 合作伙伴:葛氏济世堂
品牌介绍葛氏济世堂是四川省利健济世科技有限公司于2014年1月28日注册的第5类医疗用品品牌,注册号:9998238。葛氏济世堂自成立以来,坚持为顾客提供医药、健康理疗服务,葛氏济世堂的产品从制作到最终为理疗者服务,全程由公司核心团队严格把…查看详情
- 关于新店开业策划的方案和具体操作
随着时代的发展,社会的进步,现在越来越多的人选择自己开店经营。既然要开店,那么也要有新店开业策划,以保证新店开业能够顺利进行。新店开业策划也可以激发人气,从而做到大大提高销售额,下面是关于新店开业策划的方案和具体操作详解。 新店开业策划活动…查看详情
- 万商云集上榜i黑马“2020中国企服行业最具成长力TOP50”榜单
12月18日,在i黑马举办的2020第十三届创业家年会上,万商云集从700家企业中脱颖而出,上榜“中国企服行业最具成长力TOP50”榜单。 此次评选,由i黑马与来自60多家投资机构的百余位投资人,通过18场线上评审,从科技实力、投资价值、成…查看详情
- 淘宝怎么刷钻 淘宝刷钻方法
很多人做淘宝的时候都想着刷排名刷到钻石,但是我是不建议新人过度去刷,毕竟现在淘宝查的很严。但我们可以利用一些小技巧也是可以帮助到店铺升钻的。 卖家信用等级如何计算? 卖家想要做到一颗钻需要251个甚至更多的好评,因为根据淘宝的计分规…查看详情
- 中文编程软件有哪些
中文编程语言是真的吗?最近华为将中文编程语言项目提上了日程。但是实际上中文编程语言是指使用中文来书写的程序设计语言,其目的是为了减少对英语的学习,将精力集中在程序设计上,并且便于程序交流和代码维护。 目前已经存在的中文编程软件有: 1、…查看详情
- 企业电商系统开发有两种方式,但都需要重视4点
企业电商系统开发时,需先对产品、市场和用户做定位,不仅需要从自身情况和实际需求出发,还需要考虑用户需求和痛点,再由以上结论确定一个最佳的开发方案,最终再去考虑开发模式及重视开发电商系统几大要点。 图片来源于网络 ● 根据开发方案,企业电商…查看详情
- 工商注册需要准备什么材料
工商注册是一个繁琐的过程,需要准备各种各样的材料。以下是注册公司所需要的材料列表,以供参考: 1.公司名称预审通过通知书:公司名称必须符合国家政策,并且不得与已经注册的企业名称相同。因此,需要首先进行公司名称预审。 2.股东身份证正…查看详情
- 人事一般用什么软件?好用的人力资源管理软件
一个公司的招聘工作是由人事部来决定的,每天面试的人有多少,每一个面试人的信息是什么都需要记录在一个软件里面,这样才可以很好的筛选出有能力的面试人员,那么,人事管理软件的一些介绍是什么。1、欢雀科技HR人事管理软件深圳创新科技公司,在人力资源…查看详情
猜你喜欢
最新文章
扫码二维码
立即领取《千元实战营销秘籍》
还可免费试用营销管理系统
*如有疑问,请随时拨打免费咨询热线: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
企业首选的数字选用平台