說說你所在互聯網公司微服務項目都用哪些技術?
很高興回答您的問題。
目前我們在做的一個項目全面使用微服務架構。也確實從中獲得了極大的便利。
首先,確定模塊的劃分,就我們的項目而言,分為:
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。
目前穩定運行,效果非常不錯。
希望我的回答對您能有幫助。