服務器端負載均衡 Nginx
Nginx 基於C語言,快速,性能高5w/s。
Redis 5w/s,RibbatMQ 1.2w/s ApacheActiveMQ 0.6w/s 業務系統,kafka 20w~50w/s大數據,Zuul2.0 200w/s
負載均衡、反向代理,代理后端服務器。隱藏真實地址,防火牆,不能外網直接訪問,安全性較高。屬於服務器端負載均衡。既請求由 nginx 服務器端進行轉發。
客戶端負載均衡 Ribbon
Ribbon 是從 eureka 注冊中心服務器端上獲取服務注冊信息列表,緩存到本地,然后在本地實現輪詢負載均衡策略。
既在客戶端實現負載均衡。
應用場景的區別:
Nginx 適合於服務器端實現負載均衡 比如 Tomcat ,Ribbon 適合與在微服務中 RPC 遠程調用實現本地服務負載均衡,比如 Dubbo、SpringCloud 中都是采用本地負載均衡。
Feign
Feign 是一個聲明web服務客戶端, 這便得編寫web服務客戶端更容易Spring Cloud Netflix 的微服務都是以 HTTP 接口的形式暴露的,所以可以用 Apache 的 HttpClient 或 Spring 的 RestTemplate 去調用,而 Feign 是一個使用起來更加方便的 HTTP 客戶端,使用起來就像是調用自身工程的方法,而感覺不到是調用遠程方法
Feign包含了ribben
有時候有的項目會2個技術一起用在該項目中是因為
feign是做遠程調用的,ribbon是做負載均衡的。