回覆列表
  • 1 # 此生唯一

    現在國內JAVA開發微服務主要有springboot(springCloud),dubbo,兩個框架我都用過,就我個人而言,我覺得還是springboot更好一點!

    springboot的理念是輕配置,自動化配置,內部整合,易部署,易監控!

    springboot提供的starter啟動類系列可以讓開發人員進行快速開發,比如許可權認證,訊息元件,快取整合等等,只需要簡單配置即可使用!

    但是springboot只是一個基礎框架,在服務註冊與發現,監控整合等方面沒有提供完善的解決方案,而springCloud基於springboot,提供了一整套更加成熟的企業級的元件!

    springCloud提供了服務註冊與發現,斷路器,客戶端負載均衡,閘道器,呼叫鏈監控,分散式配置中心等元件,都是大型分散式系統所必須的特性!

    dobbo只是一個rpc框架,而且配置相對來說比較複雜,不過文件比較完善,在國內使用的也比較多!

    反正我覺得springCloud好,你們覺得呢?

  • 2 # 會點程式碼的大叔

    那今天就不談微服務是使用Dubbo還是Spring Cloud,也不討論是使用RPC還是Restful API,只單獨說一說為什麼大多數的Java微服務會使用Spring Boot。文中會有不少我個人的主觀看法,如果大家有不贊同的地方,可以留言討論。

    首先,需要了解一下為什麼需要做微服務。

    微服務架構是將整個應用程式分割成更小的獨立的服務,每個服務實現了一組獨立的功能,微服務透過API暴露自己的功能實現,再透過服務治理和服務編排等,完成系統的完整功能。

    每個服務都是獨立並且微小的(其實這個【小】是很有爭議的,不在這裡展開討論),一個微服務由一個團隊負責管理,包括需求、開發、運維,可以自由選擇技術,不過要求遵守一定的規範;每個微服務都需要快速迭代和部署;總的來說,微服務架構突出了一個【快】字。

    那麼在回到題目中的問題,微服務的開發是否適合使用Spring Boot。個人認為,答案是肯定的,Spring Boot適合使用在微服務的架構中。

    Spring Boot在最初設計的初衷,就是為了簡化Spring應用工程的搭建,其實Spring Boot並沒有引入什麼新的東西,本質上它是在Spring和第三方框架的基礎上進行了整合;Spring Boot透過定義的註解替代了xml配置檔案,內嵌應用伺服器;“約定大於配置”的思想;

    總之,Spring Boot讓服務的搭建、開發、部署、認證鑑權、監控都變得更加的簡單。

    所以結合上面兩點,微服務注重專案粒度的劃分,一個專案會被分成多個子專案,子專案(微服務)之間獨立部署並透過協議進行資料互動,每個微服務都需要【快速】的迭代和部署;而Spring Boot的最大特點就是讓應用開發過程變得【更快】,因此在微服務架構中,Spring Boot是非常適合的。

    當然開發框架只是【快速】開發的一部分,微服務框架也不是單指應用服務的微和快,舉個例子來說,如果你們的技術團隊依然是需求、開發、測試分開的,每一次業務提了需求,需要需求人員進行需求評審,然後給開發人員講解需求,開發人員開發完成之後,部署測試環境,測試人員開始進行測試;測試透過之後,提交上線申請,找一個上線節點,運維人員部署開發環境...

    這樣是快不起來的...

  • 中秋節和大豐收的關聯?
  • 開一家小型洗車店需要多少錢?