原創文章,歡迎轉載。轉載請注明:轉載自IT人故事會,謝謝!
原文鏈接地址:『高級篇』docker之微服務間如何通訊(六)創新互聯專注于網站建設|成都企業網站維護|優化|托管以及網絡推廣,積累了大量的網站設計與制作經驗,為許多企業提供了網站定制設計服務,案例作品覆蓋成都宴會酒店設計等行業。能根據企業所處的行業與銷售的產品,結合品牌形象的塑造,量身定制品質網站。
說到通信可能會想到:socket,http,tcp/ip,zookeeper等等,這么多東西在一起可能會感覺比較亂,提供個思路來考慮微服務的問題,通信方式和通信協議來考慮。
很多人把rest api等同于 http的接口設計,其實他們不能直接化等號的,rest 是很早提出的一個概念,rest是表現層的狀態轉移,其實這個沒幾個人可以聽的懂,其實rest是網絡中客戶端和服務端的一種交互形式,它本身就是一個抽象概念,主要是如何設計一個rest api,以http為例,就是用http協議來實現rest形式的api,
在 Web 應用中處理來自客戶端的請求時,通常只考慮 GET 和 POST 這兩種 HTTP 請求方法。實際上,HTTP 還有 HEAD、PUT、DELETE 等請求方法。而在 REST 架構中,用不同的 HTTP 請求方法來處理對資源的 CRUD(創建、讀取、更新和刪除)操作:
若要在服務器上創建資源,應該使用 POST 方法。
若要檢索某個資源,應該使用 GET 方法。
若要更改資源狀態或對其進行更新,應該使用 PUT 方法。
若要刪除某個資源,應該使用 DELETE 方法。
RPC
消息隊列,實際場景用的不太多,例如之前說的滴滴打車這種就是消息訂閱的模式。
RPC是微服務方面最多的一種情況,也是選擇比較多的情況,可選的RPC框架也非常的多,選擇一個RPC框架是需要面臨的問題。
I/O,線程調度模型
長連接,短連接,單線程,多線程,線程調度算法的性能
序列化的方式
可讀的(XML,JSON),二進制(FASTJSON),為什么要考慮序列化呢,因為序列的效率直接影響到我們通信的效率,擴大了序列化和反序列化的時間,RPC的效率,同一個對象如果序列化小的話大大提升效率。
多語言支持
根據團隊語言,如果是多語言就需要找支持多語言的RPC框架,如果單語言例如都是java,就直接dubbo只支持java。
比如有沒有服務發現,服務監控,一個擁有服務治理的RPC框架,一般支持集群的部署和服務高可用。
2014年10月份,dubbo就不在維護了,時隔3年dubbo又重新開始維護,一來用戶量確實很多,二來微服務比較火,對微服務更好的支持。DubboX是在阿里的dubbo基礎上開發的一套DubboX。只支持java語言。
一套新浪微博的,2016年5月進行的開源,號稱每天支持新浪微博的千億級別的調用量,通過spring的調用方式不需要額外的代碼就具有分布式的能力。只支持java語言。
2007年facebook開發的,08年進入了apche項目,它是一個跨語言的。畢竟那么多年,你想到的它都支持。沒有服務治理相關的東西。
google開源的一個項目,跟Thrift相似,也支持跨語言。
PS:微服務通信的根本就是RPC通信,比http效率高,穩定性好。
另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前文章:『高級篇』docker之微服務間如何通訊(六)-創新互聯
文章URL:http://vcdvsql.cn/article4/eepie.html
成都網站建設公司_創新互聯,為您提供網站排名、Google、域名注冊、App設計、品牌網站設計、自適應網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯