springcloud-alibaba微服務搭建


springcloud-alibaba組件:
nacos:注冊中心、配置中心。關於注冊中心可以對比springcloud-Netflix的注冊中心Eureka和dubbo的zookeeper,看看它們之間的區別,關於CAP的一些理解;而配置中心是取代了springcloud config。(需要下載壓縮包)
feign:遠程服務調用。feign集成了ribbon可以實現負載均衡,feign面向接口,使用的是restful風格加http協議,不同於dubbo的RPC的遠程調用的tcp協議,相對於dubbo來說性能要低一點。
sentinel:是面向分布式服務架構的高可用流量防護組件,主要以流量為切入點,從限流、流量整形、熔斷降級、系統負載保護、熱點防護等多個維度來幫助開發者保障微服務的穩定性。應用於springcloud-alibaba,區別於springcloud-Netflix的Hystrix(熔斷器)。(需要下載jar包)
springcloud-gateway:springcloud-alibaba沒有自己的網關組件,集成的是springcloud的gateway。
slueth:分布式鏈路跟蹤。為服務之間調用提供鏈路追蹤,通過 Sleuth 可以很清楚的了解到一個服務請求經過了哪些服務,每個服務處理花費了多長。從而讓我們可以很方便的理清各微服務間的調用關系。
zipkin:Twitter 的一個開源項目,它基於 Google Dapper 實現,它致力於收集服務的定時數據,以解決微服務架構中的延遲問題,包括數據的收集、存儲、查找和展現。 我們可以使用它來收集各個服務器上請求鏈路的跟蹤數據,並通過它提供的 REST API 接口來輔助我們查詢跟蹤數據以實現對分布式系統的監控程序,從而及時地發現系統中出現的延遲升高問題並找出系統性能瓶頸的根源。(需要下載jar包)
RocketMQ:消息中間件,實現應用的削峰平谷、高並發、高流量。可對比ActiveMQ、RabbitMQ、kafka之間的區別。RocketMQ的消息類型有普通消息、順序消息、事務消息。
seata:分布式事務解決方案有:1.全局事務 2.消息中間件 3.最大努力通知 4. TCC。不同於本地事務,依賴於數據庫本身的事務來解決此問題,seata是在架構層面,將seata以jar包的形式嵌入到服務中心,無代碼侵入。通過全局事務的思想將單個數據庫的操作以日志的形式存入undo-log表中,如果中間某個操作出現問題不成功,就會從undo-log表中查詢相關的記錄生成sql語句操作數據庫來實現回滾。
微服務搭建思路:
1. 添加依賴
2. 編寫配置文件
3. 添加注解
demo的github地址:https://github.com/white66/springcloud-alibaba-demo.git


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM