-
1 # 書香學程式設計
-
2 # 海盜船長ABC
目前我們在做的一個專案全面使用微服務架構。也確實從中獲得了極大的便利。
首先,確定模組的劃分,就我們的專案而言,分為:
1. 前端模組,對外提供REST API介面
2.負責具體邏輯處理的模組,前端模組和此模組透過GRPC通訊
3.非同步處理模組,有些任務耗時較長,模組二會發送一個訊息到kafka,此模組從kafka獲取訊息,進行非同步處理
系統部署在kubernetes之上,所有模組編譯成docker image,上傳到自己私有的image repo。
每個模組都有多個副本,以實現負載均衡。模組之間的通訊,透過kubernetes cluster service實現。
kubernetes ingress負責對外提供訪問介面以及ssl的處理。
外層再使用load balancer,以實現在多個cluster之間負載均衡以及容錯。多個cluster部署在不同的region,以避免區域出現問題使服務不可用。
cluster裡面還使用了istio,以便利用service mesh。
此外監控也是必不可少的,我們使用prometheus來監控各項指標,alertmanager實現報警。
ELK實現對日誌的記錄與查詢,jaeger實現模組間同一個request的trace。
目前穩定執行,效果非常不錯。
-
3 # Cloudapi
目前我所知的網際網路公司的微服務架構提高了運營效率,從中獲得極大的便利。
簡單地說,微服務架構就是以業務域或業務功能為邊界,將一個大而全的應用拆分為可以獨立開發,獨立部署,獨立測試,獨立執行的一組小的應用,並且使用輕量級,通用的機制在這組應用間進行通訊。
一般公司會用RestCloud微服務架構,這是商業級的軟體,它相比springcloud,RestCloud 部分相容了 SpringBoot 的註解,但是由於 SpringBoot在 API 注覽方面的功能比較弱所以在控制層上的註解,我們建議全面使用 RestCloud 的註解。
如果在網際網路公司,學會使用spingcloud後就能掌握RestCloud了,RestCloud是輕量級、商業化的微服務框架。
具有很多成熟、現成可用的模組可以達到開箱即用,RestCloud 底層本身基於SpringBoot 進行擴充套件開發而來,繼承了 SpringCloud 框架的基礎能力,同時又開發了很多易用的模組來加快微服務的開發和管理能力。
回覆列表
Jhipster腳手架可以建立單體應用也可以建立微服務,其中微服務包含UAA鑑權/Gateway閘道器/Registry註冊中心/熔斷/Feign/鏈路追蹤/ELK元件等,前期Jhipster已應用到公司微服務專案中
Jhipster可以快速搭建應用以及根據表結構快速生成簡單邏輯程式碼,提高開發效率