PayPal從Java遷移到Node.js
Node.js at PayPal | PayPal Engineering Blog
從歷史上看,我們的工程團隊已經被分割成兩個部分:開發基於瀏覽器(使用HTML,CSS和JavaScript)的程式碼和那些開發應用層(使用Java)。
想象一下一個HTML開發者要求Java程式設計師將兩個頁面連線在一起?
Node.js透過啟用瀏覽器和伺服器統一的JavaScript應用程式解決這個問題。它統一了我們的專業工程師組成一個統一團隊,讓我們在技術堆疊的任何層次瞭解和應對使用者的需求。
node.js效果:
少量人兩倍開發效率
減少33%行程式碼
減少40%檔案
這令人鼓舞的證據表明,我們的團隊可以用JavaScript開發得更快。我們當初擱置Java應用開發,而加大了對JavaScript投入。
好訊息是,Java工程師一開始對node.js不確定,後來興高采烈地轉移到了node.js,並愉快地致力於並行工作流,為我們提供了雙倍於我們最初看到的生產力。
效能是一個有趣的和有爭議的話題。在我們的例子中,我們有兩個應用程式具有完全相同的功能,並透過大致相同的團隊構建:一個在我們內部基於Spring的Java框架,一個是基於kraken.js使用express dust.js等構建。
Java效能:
從歷史上看,我們的工程團隊已經被分割成兩個部分:開發基於瀏覽器(使用HTML,CSS和JavaScript)的程式碼和那些開發應用層(使用Java)。
想象一下一個HTML開發者要求Java程式設計師將兩個頁面連線在一起?
Node.js透過啟用瀏覽器和伺服器統一的JavaScript應用程式解決這個問題。它統一了我們的專業工程師組成一個統一團隊,讓我們在技術堆疊的任何層次瞭解和應對使用者的需求。
node.js效果:
少量人兩倍開發效率
減少33%行程式碼
減少40%檔案
這令人鼓舞的證據表明,我們的團隊可以用JavaScript開發得更快。我們當初擱置Java應用開發,而加大了對JavaScript投入。
好訊息是,Java工程師一開始對node.js不確定,後來興高采烈地轉移到了node.js,並愉快地致力於並行工作流,為我們提供了雙倍於我們最初看到的生產力。
效能是一個有趣的和有爭議的話題。在我們的例子中,我們有兩個應用程式具有完全相同的功能,並透過大致相同的團隊構建:一個在我們內部基於Spring的Java框架,一個是基於kraken.js使用express dust.js等構建。
Java效能:
相對Java,每秒處理請求提高兩倍。平均響應時間降低35%。
banq個人意見:非同步非堵塞的效率在效能和吞吐量上顯現效果。
[該貼被banq於2013-11-29 17:14修改過]
[該貼被banq於2013-11-29 17:17修改過]
相關文章
- PayPal從Java遷移到Node.js之我見JavaNode.js
- PayPal為什麼從Java遷移到Node.js 效能提高一倍 檔案程式碼減少44%JavaNode.js
- 從Perforce遷移到GitGit
- Spring Boot 從1.5遷移到2.0.5 - DZone JavaSpring BootJava
- 案例:微服務從Java/SpringBoot遷移到Golang微服務JavaSpring BootGolang
- 從 golang flag 遷移到 cmdrGolang
- 從 Nginx 遷移到 Envoy ProxyNginx
- [譯]從 SQLite 逐步遷移到 RoomSQLiteOOM
- 從mpvue遷移到uni-appVueAPP
- EF Core從TPH遷移到TPT
- [譯] 從 SQLite 逐步遷移到 RoomSQLiteOOM
- Linode從Xen遷移到KVM
- 將表 從mysql 遷移到oracleMySqlOracle
- Netflix是如何從java8遷移到Java11? - carlJava
- Azure VM從ASM遷移到ARM(二)ASM
- Azure VM從ASM遷移到ARM(一)ASM
- 從SpringMVC遷移到SpringbootSpringMVCSpring Boot
- 使用DynamoShake從dynamodb遷移到mongodbMongoDB
- 從檔案系統遷移到ASM上ASM
- oralce 從檔案系統遷移到ASMASM
- 如果需要從Oracle遷移到MS SQLServer (2)OracleSQLServer
- 如果需要從Oracle遷移到MS SQLServer (1)OracleSQLServer
- PayPal如何將Teradata資料倉儲遷移到BigQuery實現產品分析
- Node.js 在 PayPal實戰Node.js
- 遷移到ASMASM
- 從 CRUD 遷移到事件溯源的祕訣 - eventstore事件
- Gradle指南之從Groovy遷移到KotlinGradleKotlin
- 從RabbitMQ平滑遷移到RocketMQ技術實戰MQ
- 記錄從vuecli打包庫遷移到rollup打包Vue
- 從Firebase+Redis遷移到PlanetScale+MySQLRedisMySql
- 我為什麼從Redux遷移到了MobxRedux
- [譯] 將現有的 API 從 REST 遷移到 GraphQLAPIREST
- 閃購網站Gilt從Rails遷移到Scala網站AI
- 將應用程式從Sql Server遷移到OracleSQLServerOracle
- 從 PDF 表單遷移到 IBM Lotus FormsIBMORM
- 從關聯式資料庫遷移到CouchDB資料庫
- 為什麼我會從MongoDB遷移到PostgreSQLMongoDBSQL
- Android技術棧(一)從Activity遷移到FragmentAndroidFragment