Ribbon 与 Nginx 区别
服務(wù)器端負(fù)載均衡 Nginx
nginx 是客戶端所有請(qǐng)求統(tǒng)一交給 nginx,由 nginx 進(jìn)行實(shí)現(xiàn)負(fù)載均衡請(qǐng)求轉(zhuǎn)發(fā),屬于服務(wù)器端負(fù)載均衡。
既請(qǐng)求由 nginx 服務(wù)器端進(jìn)行轉(zhuǎn)發(fā)。
客戶端負(fù)載均衡 Ribbon
Ribbon 是從 eureka 注冊(cè)中心服務(wù)器端上獲取服務(wù)注冊(cè)信息列表,緩存到本地,然后在本地實(shí)現(xiàn)輪詢(xún)負(fù)載均衡策略。
既在客戶端實(shí)現(xiàn)負(fù)載均衡。
應(yīng)用場(chǎng)景的區(qū)別:
Nginx 適合于服務(wù)器端實(shí)現(xiàn)負(fù)載均衡 比如 Tomcat ,Ribbon 適合與在微服務(wù)中 RPC 遠(yuǎn)程調(diào)用實(shí)現(xiàn)本地服務(wù)負(fù)載均衡,比如 Dubbo、SpringCloud 中都是采用本地負(fù)載均衡。
補(bǔ)充:ribbon和feign的區(qū)別(轉(zhuǎn))
spring cloud的Netflix中提供了兩個(gè)組件實(shí)現(xiàn)軟負(fù)載均衡調(diào)用:ribbon和feign。
Ribbon
是一個(gè)基于 HTTP 和 TCP 客戶端的負(fù)載均衡器
它可以在客戶端配置 ribbonServerList(服務(wù)端列表),然后輪詢(xún)請(qǐng)求以實(shí)現(xiàn)均衡負(fù)載。
Feign
Spring Cloud Netflix 的微服務(wù)都是以 HTTP 接口的形式暴露的,所以可以用 Apache 的 HttpClient 或 Spring 的 RestTemplate 去調(diào)用,而 Feign 是一個(gè)使用起來(lái)更加方便的 HTTP 客戶端,使用起來(lái)就像是調(diào)用自身工程的方法,而感覺(jué)不到是調(diào)用遠(yuǎn)程方法。
轉(zhuǎn)自
個(gè)人理解:nginx將各種請(qǐng)求分發(fā)到不同的服務(wù)器(tomcat等)
ribbon則是決定某個(gè)具體請(qǐng)求使用這個(gè)請(qǐng)求所對(duì)應(yīng)的眾多微服務(wù)中的哪一個(gè)微服務(wù)
總結(jié)
以上是生活随笔為你收集整理的Ribbon 与 Nginx 区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Redis基本操作
- 下一篇: Nginx反向代理负载均衡时,验证码不正