Spring Cloud:Ribbon實現負載均衡

什麼是負載均衡?

負載均衡 建立在現有網絡結構之上,它提供了一種廉價有效透明的方法擴展網絡設備和服務器的帶寬、增加吞吐量、加強網絡數據處理能力、提高網絡的靈活性和可用性。

負載均衡,英文名稱為Load Balance,其意思就是分攤到多個操作單元上進行執行,例如Web服務器、FTP服務器、企業關鍵應用服務器和其它關鍵任務服務器等,從而共同完成工作任務。

Spring Cloud如何實現負載均衡?

Spring Cloud使用Ribbon組件實現負載均衡

什麼是Ribbon?

Ribbon是一個客戶端負載均衡器,它能讓您對HTTP和TCP客戶端的行為有很多控制

如何使用?

  • 上一篇文章已經講了Spring Cloud中如何消費服務,總結下:通過RestTemplate通過http協議進行消費。

  • 我們接著改造原來的工程,加入負載均衡

  • 把eureka註冊中心啟動,然後啟動兩個bootiful應用,端口分別為9001、9002。注意:Idea默認一個工程只能啟動一次,所以需要改下設置,然後分別修改下端口後啟動。為了方便觀察,我們在bootiful應用中打印了接口日誌。

Spring Cloud:Ribbon實現負載均衡

Spring Cloud:Ribbon實現負載均衡

  • 打開註冊中心http://localhost:8761/,看到bootiful應用已經有兩個實例了

Spring Cloud:Ribbon實現負載均衡

  • 改造consumer應用,給RestTemplate實例增加@LoadBalanced註解

Spring Cloud:Ribbon實現負載均衡

  • 啟動consumer應用

Spring Cloud:Ribbon實現負載均衡

  • 反覆訪問http://localhost:9000/consumer/getBootiful接口,發現bootiful應用兩個實例打印出日誌來了

Spring Cloud:Ribbon實現負載均衡

Spring Cloud:Ribbon實現負載均衡

Spring Cloud:Ribbon實現負載均衡


分享到:


相關文章: