婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 深入分析PayPal對Node.js的應用和開發案例

深入分析PayPal對Node.js的應用和開發案例

熱門標簽:金蘭灣地圖標注app 福州公司外呼系統加盟 外呼系統2273649Z空間 河北crm外呼系統平臺 周口權威的不封卡電話外呼系統 百應電話機器人價值 地圖標注不顯示 南京400電話辦理到易號網 河南語音外呼系統平臺

從歷史上看,我們工程團隊的代碼已經被分割成瀏覽器層(使用HTML , CSS和JavaScript )和應用層(使用Java ) 。試想一下,一個HTML的開發人員要求一個Java開發人員將“A”和“B”頁面連接在一起,但是這就是我們。該模型通過引入全棧工程師,落后那些能夠創造一個好的用戶界面,然后生成應用程序去支持它。稱他們為獨角獸,但是這就是我們想要的,在PayPal中,主要阻滯劑是我們在瀏覽器和服務器之間建立的人工邊界。

Node.js 使用javascript,通過建立瀏覽器和服務端的應用程序幫助我們解決了這個問題。它統一了我們團隊,讓我們在技術堆棧上了解和應對我們用戶的任何需求。

早期使用Node.js

和其他一樣,我們把Node.js 作為一個原型的平臺。同其他一樣,它表現了很好的性能,我們決定在產品上使用它。
最開始的時候,我們使用express作為路由,nconf來作為配置,grunt來建立工作流。我們特別喜歡express框架的普及,卻發現它并沒有在多個開發團隊很好地擴展。express是非強制性的,并允許您在任何方式合適地去設置一個服務器。它非常靈活,但不利于在大型團隊中保持一致。隨著時間的推移,我們看到的模式脫穎而出,更多的人拿起node.js的轉身進入Kraken.js ,它不是一個框架本身,而是基于express的一個層,允許它擴展到更大的組織。我們希望我們的工程師專注于打造自己的應用程序,而不是僅僅著眼于建立自己的環境。
到現在為止,我們在內部使用kraken.js 已經有幾個月了(不久,我們將會開源),我們的工程師團隊期望將它變成一個實時的公司內部的node.js應用程序。

促使Node.js 到產品上

我們首先在產品上嘗試node.js不是一個小的應用程序,它是我們的賬目總覽頁面,這個頁面具有很大的流量。我們打算去使用,但是我們也得降低風險,

于是我們同時建立了一個java應用程序。我們知道如何去部署和度量java應用程序,因此如果在node.js 程序出了任何問題,我們能夠迅速的切換到java上來。它提供對一些數據的設置。

部署

我們在1月份就開始了,它花費了我們幾個月的時間去研究node.js必要的基礎東西。比如sessions, centralized logging, keystores。在這段時間內我們有5名工程師在使用java工作。在2個月的java開發后,2名工程師開始使用node.js 并行開發 app。在7月初的時候,他們相互溝通了一下,他們的應用程序具有相同功能。node.js的應用程序,是以一個更小的團隊在2個月后開始,但是很快就追上了。有幾個細節脫穎而出后,我們運行測試案例,兩個應用程序通過相同的功能測試。node.js 是:

1)更少的人去建立,幾乎是2倍甚至更快的速度
2)少了33% 的代碼
3)建立40%甚至更少的文件

這個提供了一個令人鼓舞的消息表明javascript可以更快的工作。我們都同意并且做了一個決定:將java應用程序擱置了。但是問題是java工程師在項目上,開始的時候對轉向node.js并且很高興的在我們的工作流中提交代碼,提高我們雙倍的生產力不太自信。

性能

性能是一個高興而有爭議性的話題,在我們的案例中,我們一個團隊有2套功能相同的應用程序:一個使用java 基于Spring而另一個基于kraken.js 使用 express, dust.js 和其他的開源代碼。這個應用程序包含了3套路由,并且每一套路由2個或者5個請求,數據是通過Dust去渲染頁面的。

在我們的測試路由中,我們收集的數據是吞吐量和響應時間

你能看到在我們的node.js 應用程序中:

1)與Java應用程序相比較,雙倍的每秒請求。更有趣的是,Node.js應用程序是單核,而在Java中五核。我們希望進一步增加這個鴻溝。
2) 35%的跌幅,平均響應時間在同一頁。這導致響應200ms的快一些用戶肯定會注意到。

對于這個結果我申明一下:我們的框架使用2種不同的應用程序,它僅僅在不同的技術上的是一個對等測試。有可能你的區別更大。也就是說,我們非常激動的看到了node.js表現出的性能。

Kraken:改變PayPal開發文化的Node.js框架
PayPal(全球流行的網上支付服務)公司發布了一款Node.js Web開發框架——Kraken。

Kraken基于Express,Express是目前Node.js上最流行的MVC模式的Web開發框架,通過提供一系列強大特性幫助開發者快速創建各種Web應用。而Kraken在Express的基礎上提供了更加穩健的功能合集,支持本地化、環境配置、更加注重應用程序安全等。

為什么會有 Kraken?

之前,PayPal 公司長期存在著“非我所創”的文化,這導致 PayPal 采用新技術的態度很消極,項目開發進度也極其緩慢。正是由于 PayPal 行動緩慢,其他支付服務商 Stripe 和 Square 趁機成長,逐漸撼動 PayPal 的市場地位。同時,PayPal 當時的開發技術也已經無法滿足快速開發的需求,因為當時的開發基本全是 Java,不需要用 Java 來實現的也會用 Java 完成。

2012 年 4 月,David Marcuss 成為 PayPal 的總裁,并任命工程師團隊在 6 周內完成支付系統的重寫,這是一個為 PayPal 帶來了 35 億美元收入的系統。最終,工程師團隊用了 8 周時間完成了該項任務,他們選擇了 Node.js 對系統進行重新開發。當然,PayPal 的其他大量的子系統還需要整合到 Node.js 系統,所以起初 Node.js 僅作為一個快速開發原型架構。

后來,PayPal 越來越多的新開發項目都逐漸采用 Node.js 和其他開源軟件來完成,這就促成了一個可以快速開發 Web 應用的 Kraken.js 項目的誕生。

下面我們對 Kraken 的框架結構和特點進行簡單的總結分析,希望能夠幫助大家更好地了解 Kraken。

Kraken 框架套件

Kraken 框架套件包括多個部分,Kraken.js 僅是該框架的主體部分。該框架還包括其他模塊(可獨立使用):

lusca:支持 Express 的應用程序安全模塊
makara:支持 Dust.js 的國際化(i18n)模塊
Adaro:支持 Express 的一款 Dust.js 視圖渲染器
Kappa:NPM 代理插件
除了上述可以獨立使用的模塊之外,Kraken 套件還包括了一系列的依賴和實用工具:

Generator-kraken:Yeoman 生成器
Enrouten:用于 Express 的路由(route)配置中間件(初始化與配置模塊)
Kraken-devtools:Kraken 應用程序開發所需的工具合集


Kraken的特點

通過前面的介紹,我們已經基本了解了 Kraken 究竟是怎么一回事兒,那 Kraken 到底具有哪些吸引開發者的特點呢?

1. 項目結構清晰

Kraken 將生成的項目的配置、內容和模板、路由邏輯(routing logic)放在了不同的位置,方便開發者對文件進行組織和管理。下面,我們詳細了解下 Kraken 所創建項目的基本結構:

/config,存放應用程序和中間件配置
/controllers,控制器
/lib,存放開發者自定義的庫文件和其他代碼
/locales,特定語言內容
/models,模型
/public,公共的網絡資源
/public/templates,服務器和瀏覽器端模板
/test,存放單元和功能測試用例等
index.js,應用程序入口文件
隨著項目的不斷成長,這種組織方式和策略對開發者來說會更加友好。

2. 良好平衡開發環境與生產環境

Kraken 的配置文件為 /config/app.json,它會在運行時加載文件中包含的鍵值對。全部的應用程序配置均存放在這一個文件中,大大方便了開發者。/config/middleware.json 則是自定義的中間件配置文件。

說起開發環境與生產環境,二者通常在端口號、主機名等方面的參數設置會有不同,Kraken 允許創建開發模式下使用的配置文件,如 /config/app.json 為生產環境下的配置,/config/app-development.json 則是開發環境下的配置,然后可以通過自定義環境變量(定義環境變量 NODE_ENV 為 production 或 development)來控制要加載哪個配置文件。如此一來,可以方便開發者在生產環境和開發環境進行快速切換!

3. 注重安全

通過Lusca模塊來為安全保駕護航,并遵循OWASP安全原則,同時也默認為全部調用啟用了幾個請求/響應頭文件:

跨站請求偽造(CSRF)標頭
內容安全策略(CPS)標頭
隱私優先項目平臺(P3P)標頭
X-FRAME-OPTIONS 防止點擊劫持
4. 其他

同時,它還有下面幾個特點:

路由(route)與邏輯(logic)分離:方便程序運行失敗時快速鎖定問題。
模板(template)共用:Kraken 選用 Dust 作為模板語言,同時在服務器端和客戶端使用了同一個模板,如此一來,就可以做到代碼復用。
支持本地化: Kraken 可以在運行時基于請求上下文來加載內容包(content bundle),所以在模板渲染之前就可以通過添加上下文來給用戶提供相應的本地語言支持,大大增強了應用的友好性。
示例與文檔

關于 Kraken,官方給出了下面兩個示例,可以幫助大家學習和了解:

例一:本地化與國際化:給 Web 應用增加多語言支持,讓各地用戶能夠用當地語言來使用 Web 應用
例二:部署中間件:創建一個網頁計數器,為大家解釋在應用生命周期中如何部署中間件
開源項目

Kraken 是一款開源項目(分發協議為Apache License v2.0),大家都可以對該項目進行 Fork 和提交修改。它也提供了一份簡潔的使用文檔。項目源碼和文檔均可在Github頁面進行查看。

最后

任何一個項目的誕生都有其產生的背景,也必然有相應的需求驅動。正如 Kraken,正是由于 PayPal 為了滿足其快速開發 Web 應用的強烈需求,才選擇了 Node.js,才有了這個項目。

同時,我們也需要注意工程師團隊中存在的“非我所創”文化,對于新技術要采取積極的態度,不能一成不變,否則將給企業發展帶來阻礙。

標簽:自貢 臺州 呼和浩特 撫州 瀘州 贛州 長治 南京

巨人網絡通訊聲明:本文標題《深入分析PayPal對Node.js的應用和開發案例》,本文關鍵詞  深入分析,PayPal,對,Node.js,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《深入分析PayPal對Node.js的應用和開發案例》相關的同類信息!
  • 本頁收集關于深入分析PayPal對Node.js的應用和開發案例的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩成人一级大片| 国产欧美视频在线观看| 欧美精品日韩一区| 久久99国内精品| 91视频91自| 日韩成人免费看| 欧美三级在线播放| 免费看日韩精品| 三级在线观看一区二区| 国产91精品免费| 欧美伊人久久大香线蕉综合69| 99久久久免费精品国产一区二区| 亚洲综合清纯丝袜自拍| 欧美日韩国产综合一区二区三区 | 五月天中文字幕一区二区| 日韩成人一区二区| 色女孩综合影院| 美女任你摸久久| 成人欧美一区二区三区小说| 欧美色爱综合网| 不卡的av网站| 青草av.久久免费一区| 久久精品这里都是精品| 一本色道综合亚洲| 蜜臀av性久久久久蜜臀av麻豆| 88在线观看91蜜桃国自产| 九色综合狠狠综合久久| 亚洲综合久久久| 欧美在线三级电影| 国内精品视频666| 亚洲女与黑人做爰| 欧美年轻男男videosbes| 夜夜精品浪潮av一区二区三区| 亚洲摸摸操操av| 亚洲欧美日本在线| 老司机精品视频在线| 成人av小说网| av成人免费在线| 91麻豆国产自产在线观看| 欧美人牲a欧美精品| 国产成人免费高清| 一级女性全黄久久生活片免费| 亚洲欧美另类久久久精品2019| 国产成人精品免费在线| 成人欧美一区二区三区小说| 色哟哟国产精品| 一区二区三区四区亚洲| 欧美另类一区二区三区| 欧美aⅴ一区二区三区视频| 久久午夜老司机| 99国产精品久久久久久久久久| 亚洲精品日日夜夜| 欧美大胆人体bbbb| 91黄色免费看| 蜜桃久久久久久| 亚洲美女精品一区| 337p粉嫩大胆噜噜噜噜噜91av| 久久一二三国产| 国产精品久久久久久久久图文区 | 亚洲一区二区三区中文字幕| 久久婷婷色综合| 91在线码无精品| 亚洲精品国产无套在线观| 麻豆高清免费国产一区| 中文字幕不卡在线播放| 国产suv一区二区三区88区| 欧美一区二区性放荡片| 国产一区二区三区四区五区入口| 成人免费视频一区二区| 日韩欧美国产小视频| 精品黑人一区二区三区久久| 国产亚洲精久久久久久| 91黄色免费版| 欧美人与z0zoxxxx视频| 在线观看亚洲精品| 精品视频在线免费看| 欧美亚洲高清一区二区三区不卡| 国产·精品毛片| 成人精品国产福利| 国产另类ts人妖一区二区| 午夜精品久久久久久久久久 | 一区二区久久久久久| 久久99国产乱子伦精品免费| 91免费观看国产| 91视频一区二区| 日本高清视频一区二区| 欧美亚洲高清一区| 69成人精品免费视频| 日韩欧美国产午夜精品| 国产日韩欧美综合在线| 国产精品卡一卡二| 一区二区三区四区在线播放| 亚洲国产日韩在线一区模特| 美女视频黄频大全不卡视频在线播放| 全部av―极品视觉盛宴亚洲| 奇米精品一区二区三区在线观看| 国产真实乱对白精彩久久| 99久久精品国产麻豆演员表| 欧美日韩一区二区三区在线| 久久天堂av综合合色蜜桃网| 亚洲色图欧美激情| 久久精品国产精品亚洲精品| 91网站视频在线观看| 精品久久久久久无| 亚洲不卡在线观看| 成人黄色片在线观看| 欧美一级在线观看| 亚洲一区二区综合| 国产91丝袜在线播放| 91精品国产一区二区人妖| 综合自拍亚洲综合图不卡区| 国产一区二区久久| 欧美一级视频精品观看| 亚洲你懂的在线视频| 国产精品99久久久久久似苏梦涵 | 久久精品二区亚洲w码| av在线不卡观看免费观看| 亚洲国产va精品久久久不卡综合| 看片的网站亚洲| 欧美在线free| 国产精品久久久久一区二区三区 | 不卡电影一区二区三区| 日韩欧美不卡在线观看视频| 亚洲国产精品自拍| 色偷偷成人一区二区三区91| 国产欧美一区二区三区网站| 久88久久88久久久| 欧美一级一区二区| 日韩高清不卡一区二区三区| 欧美日韩精品一区二区三区四区 | 国内精品久久久久影院薰衣草| 欧美久久免费观看| 亚洲国产日韩一区二区| 欧美中文字幕一二三区视频| 一区二区欧美国产| 欧美午夜精品一区二区蜜桃| 依依成人精品视频| 欧美主播一区二区三区| 亚洲无人区一区| 欧美日韩精品一区二区三区| 性做久久久久久免费观看欧美| 在线看国产一区二区| 亚洲午夜一区二区| 欧美日韩午夜在线视频| 日本va欧美va欧美va精品| 日韩精品在线网站| 国产白丝精品91爽爽久久 | 91精品国产综合久久久蜜臀粉嫩| 日本vs亚洲vs韩国一区三区| 精品99一区二区三区| 国产91精品免费| 亚洲三级小视频| 欧美日韩精品一区二区三区蜜桃| 青青草伊人久久| 国产欧美日韩麻豆91| av激情成人网| 日韩精品久久久久久| 精品国产91久久久久久久妲己| 成人午夜av在线| 亚洲一区二区三区在线播放| 欧美一级二级三级乱码| 国产综合久久久久影院| 国产精品青草综合久久久久99| 在线一区二区三区| 久久99国产精品麻豆| 亚洲色图都市小说| 精品久久久久久久久久久久久久久久久| 国内精品伊人久久久久av影院| 最新成人av在线| 欧美一级爆毛片| 色婷婷综合久久久中文一区二区| 丝袜亚洲另类丝袜在线| 国产色一区二区| 欧美一区二区视频免费观看| kk眼镜猥琐国模调教系列一区二区| 性做久久久久久免费观看| 中日韩av电影| 精品精品欲导航| 在线亚洲欧美专区二区| 日韩福利视频网| 亚洲欧洲精品一区二区精品久久久| 欧美精品久久天天躁| gogogo免费视频观看亚洲一| 美女看a上一区| 午夜视频一区在线观看| 亚洲色图在线看| 中文乱码免费一区二区| 日韩一区二区三区免费看| 色系网站成人免费| 福利视频网站一区二区三区| 美女脱光内衣内裤视频久久网站| 亚洲视频在线观看三级| 精品国产乱码久久久久久久久| 欧美视频三区在线播放| 97精品超碰一区二区三区| 国产成a人亚洲| 精品一区二区免费| 免费美女久久99| 首页亚洲欧美制服丝腿| 亚洲一区二区三区不卡国产欧美 |