使用protocolbuffers優缺點分析
很早就聽說過PB(protocol buffers的簡稱),但從未實際地去了解,最近動手對它進行了初步了了解和使用,由於它長得和RPC/IDL相似,加上以前有參與過使用C++實現過RPC的專案經驗,所以容易理解起來比較順暢,網上也有不少基於PB的RPC實現。
為什麼要去了解PB?一是因為它如同MapReduce一樣,屬於Google出品,口碑好也很受歡迎;其次是想將它引入mooon的實現中,問題也就來了,為啥要用它?能帶來什麼好處?會存在什麼問題?
好處顯而易見,網路訊息全丟給它,省去了很多編解碼的麻煩和工作量,而且也易於維護,如果系統需要跨平臺或語言,那非它莫屬了(不和thrift等比)。但是增加了對第三方的依賴,而且是一個比第三庫更強的依賴,因為還需要使用到它的.proto定義和編譯器。雖然它的效率比XML/JSON等高,但肯定比不過直接使用訊息結構。糾結中,最糾結的還是是否需要產生對它的依賴,要知道剛解除對log4cxx的依賴不久。
計劃繼續多瞭解protocol buffers,然後決定是否使用。
為什麼要去了解PB?一是因為它如同MapReduce一樣,屬於Google出品,口碑好也很受歡迎;其次是想將它引入mooon的實現中,問題也就來了,為啥要用它?能帶來什麼好處?會存在什麼問題?
好處顯而易見,網路訊息全丟給它,省去了很多編解碼的麻煩和工作量,而且也易於維護,如果系統需要跨平臺或語言,那非它莫屬了(不和thrift等比)。但是增加了對第三方的依賴,而且是一個比第三庫更強的依賴,因為還需要使用到它的.proto定義和編譯器。雖然它的效率比XML/JSON等高,但肯定比不過直接使用訊息結構。糾結中,最糾結的還是是否需要產生對它的依賴,要知道剛解除對log4cxx的依賴不久。
計劃繼續多瞭解protocol buffers,然後決定是否使用。
相關文章
- 使用css框架的優缺點CSS框架
- RabbitMQ優缺點MQ
- NUMA架構介紹及優缺點分析架構
- Bash 和 Python 程式語言優缺點分析Python
- Docker的優缺點Docker
- HTTPS 優點與缺點HTTP
- 伺服器使用CDN加速的優缺點伺服器
- 自學IT和接受IT培訓兩者的優缺點分析
- Windows、Linux、Unix哪個更好用?優缺點分析!WindowsLinux
- 最實用的機器學習演算法優缺點分析機器學習演算法
- JaCoCo 企業級應用的優缺點分析
- Android Volley的優缺點及原始碼分析Android原始碼
- WebApp 開發框架推薦以及優缺點分析WebAPP框架
- Android Studio使用ProtocolBuffersAndroidProtocol
- HTTP1.1 優缺點HTTP
- Ajax原理以及優缺點
- MySQL索引的優缺點MySql索引
- serverless與容器優缺點Server
- TokuDB優缺點總結
- JavaScript 模組化優缺點JavaScript
- 繼承的優缺點繼承
- 蘋果iPhone XR是否值得入手?iPhoneXR優點與缺點分析蘋果iPhone
- 節點快取的優缺點快取
- MyBatis的優缺點以及特點MyBatis
- 繼承的優點和缺點繼承
- iframe有哪些優點和缺點?
- IOS資料儲存之CoreData使用優缺點iOS
- Zoho Desk與Freshdesk:產品功能對比及優缺點分析
- 部分聚類演算法簡介及優缺點分析聚類演算法
- 恆訊科技分析:共享主機的優點和缺點是什麼?
- mysql和Oracle的特點,優缺點MySqlOracle
- Java單例模式:缺點和優點Java單例模式
- kafka的優缺點都有那些Kafka
- 關於 Cookie的優缺點Cookie
- hadoop-HDFS優缺點Hadoop
- docker簡介以及優缺點Docker
- Git版本控制與優缺點Git
- Serverless架構的優缺點Server架構