您好,登錄后才能下訂單哦!
微服務是什么?微服務架構又是什么?這些問題可能是我們日常工作會見到的。通過這些問題,希望你能收獲更多。下面是揭開這些問題的詳細內容。
使用一套小服務來開發各個應用的方式,每個服務啟動單獨的進程,一般采用輕量級的通訊機制互聯,并且它們可以通過自動化的方式部署。
微服務是一種設計思想。
單一職責:獨立的業務單獨放在一個項目里,比如訂單服務作為一個項目。
輕量級的通信:http,rpc通信。
隔離性:每個服務相互隔離,不干擾
有自己的數據
技術多樣性
互聯網行業的快速發展,需求變化快,用戶數量變化快。
敏捷開發深入人心,用最小的代碼,做最快的迭代,頻繁修改、測試、上線。
容器技術的成熟,是為服務的技術基礎。
單體架構:
1.所有功能集成在一個項目中
2.項目整個打包,可以部署到服務器運行
3.應用于數據庫可以分開部署,提高性能
優點:
1.小項目的首選,開發成本低,架構簡單。
缺點:
1.項目復雜后,很難擴展和維護
2.擴展成本高,有瓶頸
3.技術棧受限制
垂直架構:
1.對于單體架構的拆分,大項目拆成單個項目結構
2.存在數據冗余
3.項目之間要處理數據同步,通過數據庫同步
優點:
1.小項目的首選,架構簡單。
2.避免單體架構的無限擴大
3.技術不受限制
缺點:
1.很多功能放在一個工程中,有一定的瓶頸
2.系統性能擴展要通過集群節點擴展,成本較高
SOA架構:
1.將重復性的功能進行抽取,抽取成對應的服務。
2.通過ESB服務總線去訪問。
優點:
1.提高系統可重用性
2.ESB減少系統接口耦合問題
缺點:
1.系統與服務界限模糊,不利于開發
2.ESB服務接口協議不固定,不利于系統維護
3.抽取力度較大,有一些耦合性
微服務架構:
1.將服務層一個一個抽取微服務
2.遵循單一原則
3.微服務之間采用一些輕量協議傳輸數據
優點:
1.服務拆分粒度非常細,利于開發
2.提高系統可維護性
3.比ESB更輕量
4.適用于互聯網更新換代快的情況
缺點:
1.服務過多,服務治理成本高
2.開發技術要求更高
假設做個商城網站:
1.用戶可以登錄和注冊,發短信驗證
2.管理員可以查看商品,對商品增刪改查
傳統訪問方式如下:
微服務架構訪問方式
添加Apigateway,對客戶端暴露一套API,方便調用
1.獨立性
2.使用者容易理解
3.技術棧靈活
4.高效團隊
1.額外的工作,服務的拆分
2.保證數據一致性
3.增加了溝通成本
從通信模式考慮:
從通信協議考慮:
RPC
傳統服務下:
一般是IP,端口號訪問
微服務發現有兩種方式----客戶端發現和服務端發現
客戶端發現:
微服務啟動后,將自己IP和和端口進行注冊,客戶端查詢注冊,得到服務的IP和端口,通過負載均衡,訪問微服務。
服務端發現:
客戶端訪問時,不去注冊中心了,通過服務發現代理去直接訪問
以上就是微服務和微服務架構的詳細內容了,看完之后是否有所收獲呢?如果想了解更多相關內容,歡迎關注億速云行業資訊!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。