Re: [請益] 所以,到底什麼是RESTful API?

作者: jojochuang (我是男的)   2019-03-12 23:18:08
RESTful API在開發小型系統時滿容易開發 但是效能很難上去
我自己實測如果用Jetty當http server的話
在有SSL的情況一秒鐘只能接受3千個connection
如果有connection reuse的情況下最多只能處理每秒一萬個request
部分的原因是parse JSON的效能不好 部分的原因是Jetty本身implementation不好
高效能的系統可能還是得改用GRPC或是其他transport layer
===
我的例子是開發Hadoop Key Management Server做Hadoop資料加密的系統
幾年前實作時為了簡單用了RESTful API。現在客戶真的認真用這功能後
性能根本撐不上去 所以現在得要重寫
打算改用Protobuf + Hadoop RPC換掉REST + Jetty
作者: dreamnook (亞龍)   2019-03-12 23:23:00
要開始深度討論了嗎(買鹽酥雞跟準備筆記本
作者: neo5277 (I am an agent of chaos)   2019-03-12 23:26:00
換成core 看看囉
作者: kokolotl (nooooooooooo)   2019-03-12 23:39:00
(掏本本
作者: anr2 (???)   2019-03-12 23:50:00
看應用啊 大量數據 grpc 大勝啊
作者: alan3100 (BOSS)   2019-03-13 00:35:00
聽起來比較像沒有scaling的能力
作者: lemon651 (小明)   2019-03-13 00:44:00
這是scaling problem跟是不是用protobuf沒關吧
作者: jojochuang (我是男的)   2019-03-13 09:23:00
protobuf parse的速度比json快多了還有Jetty 的SSL太慢
作者: mkmkdada (mkmkdada)   2019-03-13 09:37:00
該注意的是一條連線是否能同時處理多個 request 和 SSL加解密速度
作者: pttuser2266   2019-03-13 09:38:00
請問換GRPC 效能快多少?
作者: mkmkdada (mkmkdada)   2019-03-13 09:39:00
body 編碼速度應該不是瓶頸
作者: alan3100 (BOSS)   2019-03-13 09:41:00
問題是你搞錯方向了,這是另一個主題.service scaling這跟用不用rest沒有關係
作者: jojochuang (我是男的)   2019-03-13 09:51:00
沒試過GPRC但Hadoop RPC一秒可以幾十萬以上樓上 就是因為做rest的building block都不夠有效率阿如果有能跑rest+SSL能上一秒10萬個requests我會很有興趣 謝謝
作者: alan3100 (BOSS)   2019-03-13 12:27:00
https://www.youtube.com/watch?v=7TOWLerX0Ps給關鍵字沒興趣就沒交集好討論的了 就到此為止吧
作者: thefattiger (LT)   2019-03-13 13:53:00
alan的意思是api的形式跟你server內部怎麼處理無關吧rest也沒規定一定要json
作者: oopFoo (3d)   2019-03-13 21:30:00
restful api就是容易scale out。要scale out Hadoop KMSgoogle 一下 "hadoop kms high availability"
作者: brucetu (sec)   2019-03-14 03:40:00
搞錯方向 , 照你這樣說FB 百度 淘寶 為什麼不用protobuf?整個系統的瓶頸不在parseJSON這段 還是以開發好做為主
作者: dream1124 (全新開始)   2019-03-14 09:46:00
好奇了解你跑 jetty 的硬體等級是什麼? vm 的設定?

Links booklink

Contact Us: admin [ a t ] ucptt.com