91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

微服務優缺點解析

lhl545545 ? 來源:電子發燒友網 ? 2018-02-09 09:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

首先,微服務不是一個名字,而是一個架構的概念,就像Restful不僅僅是描述api的格式,而更多的是描述基于Restful API的架構是一樣的。微服務架構(MSA)是對原來的大型系統而言的,通過橫向或者縱向、業務或者架構切分,將一個大型的系統分散成很多微型小系統。當系統復雜到一定程度時,幾十號人共同維護一個系統的效率很低,而且出問題的風險也很高。

這時候就需要對系統進行切分,很早之前提出的SOA系統,和微服務的架構理念不謀而合。大家現在使用的基于RPC框架(dubbo、thrift等)的架構也可以視為一種微服務。微服務到現在為止還沒有確切的邊界和定義,貌似計算機上很多概念都定義不出來邊界。但是,我理解微服務之間的通信是http通信,傳統rpc調用方式并不是嚴格的微服務,因為他不能自理,需要依賴,比如可能必須某個rpc服務Producer存在的情況下,rpc服務的Consumer才能啟動起來。所以,下文中的討論,我都以微服務之間以http通信為前提。

微服務有什么好處

解耦:對于我們底層程序員而言,看得見的好處就是解耦。我要實現一個功能,可能并不需要很深入的了解別人的代碼,因為程序員嘛,可能都覺得別人的代碼是個渣渣([哭笑不得])。我可以新作一個微服務,這個服務為其他功能提供服務,又不依賴于原來已有的功能,至于業務邏輯,可以一邊上手一邊熟悉 內聚,可以獨立部署:意思就是我維護的這個微服務,可以獨立部署,對其他服務不會是強依賴,不會存在因為其他服務不存在而造成我自己的服務不能啟動或者不可用的問題。

分布式:微服務架構下不存在一個特別大的系統包含很多中心功能,這樣也能提高容錯性,一個服務的癱瘓并不會讓整個系統癱瘓 權限驗證:微服務是高度內聚的服務,我自己的這個服務,我可以定制任意合理規則,而這個規則又只適用于我自己的服務。相比于dubbo RPC調用,http微服務調用的權限驗證可以更直接更嚴格更定制化,而rpc調用時的權限驗證,我個人始終覺得不能做的很優雅 數據分開治理,自帶分庫屬性:原來的大系統使用一個數據庫,當數據很多流量很大時,就會涉及到分庫分表。

而微服務下,每個服務是否使用數據庫,數據庫是和其他服務公用還是自建,都有很大靈活性,即我覺得微服務自帶分庫分表屬性 系統不會被長期限制在某個技術棧上,在微服務的架構下,整個系統不會受限于java或者nodejs 或者go,而是大家協同不沖突,全部http協議,json格式 各個模塊的單元測試容易自動化 等

微服務面臨的挑戰

通信,http請求速度慢,通常一個操作可能會涉及到多個微服務的相互調用,如果為了完成一個操作而多次從服務端調用不同的微服務,http請求的耗時可能會成為瓶頸,如圖1所示。

微服務優缺點解析

客戶端與服務端的通信需要一個 API GateWay:通常情況下,客戶端和微服務們不在一起,而各個微服務會集中部署在一個機房,那微服務之間的互相調用是很快速的,但是客戶端和微服務之間的調用會是耗時的。而且,用戶的一個動作不能在客戶端進行多次連續調用,這樣一來速度慢,二來會有泄漏系統架構的風險。正常情況下,在客戶端和微服務架構之間會有一個API GateWay。

如圖1變成圖2所示,GateWay最重要的作用是為客戶端提供后臺服務的聚合,提供一個統一的服務出口,解除他們之間的耦合,為了解決API Gateway單點故障點或者性能瓶頸,通常Gateway也是一個集群,而且客戶端的訪問控制、賬號管理、登錄管理等切面通常會在這里處理

微服務優缺點解析

微服務很多時,整個鏈路可能很長,調用失敗的風險高,而且e2e自動化測試會成為一個問題 服務注冊和服務發現,我司有自己的服務管理系統。我推薦etcd。Google開源的Kubernetes(k8s)貌似也是使用的這個。 分布式事務,這個是微服務系統的大難點,可能需要根據自己系統的情況和業務需求進行定制了,我推薦補償性分布式事務和基于消息的分布式事務。(下次有時間介紹一下常用的集中分布式事務要怎么做)

基于微服務架構和架構實施過程中存在的優點和缺點:

采用微服務架構的優點

采用微服務架構可以更好的實現DevOps開發運維一體化,同時因為微服務架構下各個微服務模塊相對獨立和松耦合,因此在后續業務變更的分析和處理中往往能夠更加敏捷快速的響應,同時相對影響也最小。

整個業務系統水平擴展更加容易,單體應用要擴展往往數據庫是大問題,而在微服務架構下實現了單體應用的垂直拆分,可以更加容易的通過廉價的X86服務器資源來實現水平擴展。

通過微服務架構可以更好的提升各個模塊的可復用性和可組裝性。通過微服務架構更好的實現了原單體應用內部各個組件或模塊的徹底解耦,通過解耦本身也降低了原單體應用內部的復雜度。

可以使研發過程根據敏捷和小團隊化,包括和敏捷軟件開發最佳實踐更好的匹配,每個微服務模塊都可以形成獨立的敏捷小團隊進行開發和部署上線。

進一步在傳統單體應用內部實施SOA參考架構思想,體現業務能力組件化,組件能力服務化,同時也可以更好貫徹各個能力中心和前端應用組件的分離,實現共性能力下沉和復用。

采用微服務架構的缺點或困難

微服務架構需要開發團隊本身具備較強的團隊管理能力,軟件研發技能,因為管控的粒度單位已經從原有業務系統變化為了微服務模塊。

微服務架構本身會提升開發難度和工作量,特別是上層的跨多個微服務模塊或組件的功能應用的實現,往往需要在前端進行服務組合而不是傳統方式在數據庫層做SQL關聯。

由于各個微服務模塊完全相對獨立和松耦合,因此對于跨多模塊業務帶來的分布式事務問題是必須解決或找尋替代方案。特別是在微服務架構下數據庫已經進行了垂直拆分,對于跨庫訪問本身的分布式事務一致性問題是最需要和重視的問題。

服務的治理將成為實施微服務架構中重點問題,包括了服務全生命周期管理,服務后期的運維和監控,性能分析,服務鏈監控等。如果企業本身的IT治理和SOA管控治理能力弱,那么及時開始正常實施了微服務架構,到了后期的運維管控也很難做的很好。其核心原因還是管控的粒度更加細,需要管控的微服務模塊,服務接口都會呈現指數級增加。

集成復雜度增加,任何徹底的分解都將帶來集成的復雜度,即模塊在集成時候需要外部微服務模塊更多的配合。

部署復雜度增加,由于微服務模塊需要獨立部署,往往涉及到多達上100個容器的安裝和部署和集成等相關工作,這也是需要和Docker集成并實現自動部署的一個原因。

微服務很多時,整個鏈路可能很長,調用失敗的風險高,而且e2e自動化測試會成為一個問題 服務注冊和服務發現,我司有自己的服務管理系統。我推薦etcd。Google開源的Kubernetes(k8s)貌似也是使用的這個。 分布式事務,這個是微服務系統的大難點,可能需要根據自己系統的情況和業務需求進行定制了,我推薦補償性分布式事務和基于消息的分布式事務。(下次有時間介紹一下常用的集中分布式事務要怎么做)

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微服務
    +關注

    關注

    0

    文章

    145

    瀏覽量

    7742
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    PCBA 表面處理:優缺點大揭秘,應用場景全解析

    一站式PCBA加工廠家今天為大家講講PCBA加工如何選擇合適的表面處理工藝?PCBA表面處理優缺點與應用場景。在電子制造中,PCBA板的表面處理工藝對電路板的性能、可靠性和成本都有重要影響。選擇合適
    的頭像 發表于 05-05 09:39 ?450次閱讀
    PCBA 表面處理:<b class='flag-5'>優缺點</b>大揭秘,應用場景全<b class='flag-5'>解析</b>

    硅谷物理服務器的優缺點分析

    硅谷物理服務器因其高性能、高質量和先進的技術支持而在全球范圍內享有很高的聲譽。硅谷物理服務器的優缺點分析如下,主機推薦小編為您整理發布硅谷物理服務器的
    的頭像 發表于 02-12 09:30 ?329次閱讀

    香港主機托管和國內主機的優缺點比較

    香港主機托管和國內主機(以大陸主機為例)的優缺點比較,主機推薦小編為您整理發布香港主機托管和國內主機的優缺點比較,希望對您有幫助。
    的頭像 發表于 02-05 17:42 ?435次閱讀

    東京站群服務器有哪些優缺點

    東京站群服務器,作為部署在東京地區的服務器集群,專為站群優化而建,其優缺點如下,主機推薦小編為您整理發布東京站群服務器有哪些優缺點。
    的頭像 發表于 02-05 17:39 ?370次閱讀

    模擬量信號的應用和優缺點

    在現代工業自動化、環境監測、科學研究等領域,模擬量信號作為一種基本且重要的信號形式,扮演著不可或缺的角色。本文將對模擬量信號進行深度解析,探討其定義、工作原理、傳輸方式、應用以及優缺點,以期為相關領域的研究者和工程師提供參考。
    的頭像 發表于 02-03 11:26 ?1099次閱讀

    寶藏級微服務架構工具合集

    寶藏級熱門微服務架構工具包含Spring Boot、Eclipse Vert.X、Kubernetes、Tyk、RabbitMQ、Apache Kafka等。其中,Spring Boot簡化了微服務
    的頭像 發表于 12-21 16:33 ?616次閱讀

    通用型企業云服務器的優缺點

    通用型企業云服務器是一種基于云計算技術的服務器解決方案,它通過虛擬化技術將計算資源、存儲資源和網絡資源提供給用戶,具有多種優勢和一定的局限性。主機推薦小編為您整理發布通用型企業云服務優缺點
    的頭像 發表于 12-17 09:57 ?394次閱讀

    開環和閉環功放的區別,優缺點,應用場合有什么不同?

    問下TI的工程師,開環和閉環功放的區別,優缺點,應用場合有什么不同?請解釋下,謝謝!
    發表于 11-04 06:33

    不同類型UPS電源的優缺點

    不間斷電源(UPS)是為關鍵設備提供穩定、不間斷電力供應的重要設備。根據設計和功能的不同,UPS可以分為幾種類型,每種類型都有其獨特的優缺點。以下是一些常見的UPS類型及其優缺點的概述: 在線式
    的頭像 發表于 10-28 10:45 ?1921次閱讀

    微服務架構與容器云的關系與區別

    微服務架構與容器云密切相關又有所區別。微服務將大型應用拆分為小型、獨立的服務,而容器云基于容器技術,為微服務提供構建、發布和運行的平臺。區別在于,
    的頭像 發表于 10-21 17:28 ?548次閱讀

    入門級攻略:如何容器化部署微服務?

    第一步理解容器化基礎,第二步創建Dockerfile,第三步構建推送鏡像,第四步部署微服務,第五步管理微服務、第六步優化更新。容器化部署微服務是現代軟件開發中的一種高效方法,可提供良好的可移植性、可擴展性和管理性。容器化部署
    的頭像 發表于 10-09 10:08 ?389次閱讀

    雪崩晶體管有哪些優缺點

    雪崩晶體管作為一種特殊的半導體器件,在電子領域具有其獨特的優缺點。
    的頭像 發表于 09-23 18:05 ?740次閱讀

    運放恒流源有哪些優缺點

    運放恒流源,即利用運算放大器(Operational Amplifier,簡稱運放)構成的恒流源電路,具有一系列獨特的優點和缺點。以下是對其優缺點的詳細分析。
    的頭像 發表于 08-28 10:18 ?2205次閱讀

    什么是壓電陶瓷傳感器?它有哪些優缺點?

    壓電陶瓷傳感器是一種基于壓電效應的傳感器,廣泛應用于多個領域,如醫療設備、工業自動化、科學研究、汽車、航空航天等。以下是對壓電陶瓷傳感器的詳細解析,包括其定義、工作原理、特點、應用以及優缺點等方面。
    的頭像 發表于 08-09 17:42 ?3973次閱讀

    采用OpenUSD和NVIDIA NIM微服務創建精準品牌視覺

    全球領先的創意和制作服務機構率先采用 OpenUSD 和 NVIDIA NIM 微服務來創建精準的品牌視覺。
    的頭像 發表于 08-01 14:33 ?760次閱讀
    主站蜘蛛池模板: 国产主播在线看 | 巨乳色网址 | 久久久国产精品免费 | 五月天色网址 | 久久人人做人人玩人精品 | 看全黄大片狐狸视频在线观看 | 日本三级黄色 | 欧美a网站| 日本乱妇 | 天天操人人爱 | 三级欧美视频 | 亚洲国产人久久久成人精品网站 | 成人免费视频一区二区三区 | 中文字幕第一页在线 | 狠狠做深爱婷婷综合一区 | 日本欧美强乱视频在线 | 免费看黄资源大全高清 | 六月婷婷综合 | 久久免费看视频 | 欧洲国产精品精华液 | 香蕉久久夜色精品国产2020 | 色香蕉在线视频 | 波多野结衣福利 | 天天夜天干天天爽 | 一级视频片 | 天天更新影院 | 美女拍拍拍黄色 | xxxxxxxxx18免费视频| 午夜dy888理论三级 | 欧美五月婷婷 | 欧美一级在线全免费 | 亚洲免费在线观看 | 欧美成人天天综合天天在线 | 四虎永久免费地址在线网站 | 日日干干夜夜 | www.av天天 | 日日噜夜夜噜 | 韩国xxxxx视频在线 | 四虎永久影院永久影库 | 欧美成人观看免费全部完小说 | 国产三级日本三级韩国三级在线观看 |