关于微服务的几个问题?实在百度不到问题答案

发布于 2022-01-02 03:09:37 字数 229 浏览 780 评论 8

对于一个微服务系统中,zuul是不是唯一的?按照我的理解,这东西是网关,网关应该就是唯一的,不会有多个。

第二个问题,ribbon要配置几个,是不是配置在zuul的服务上就行了,但看官方文档上有一个词叫 “Ribbon客户端” ,那岂不是说可以有多个?但我的想法上,这东西既然如果是放在zuul上,(zuul实际上已经支持负载均衡了,只不过是轮询方式的,暂时没找到配置负载的策略办法),那配一个应该就够了,就和nginx一样使用

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

输什么也不输骨气 2022-01-07 18:04:52

zuul没用,我用的是eureka和ribbon,我想大概一样,就说说我的见解。

eureka可以单例,但是单例不会给你带来安全感,万一哪天eureka挂掉了,整个系统都无法调微服务。另外一个则是,eureka的多例可分区(region,不记得有否拼错),即你可以设置某服务调杭州服务器上的eureka,还是选择调深圳服务区上的eureka。

ribbon在上边一些童鞋的回复中已经说得很明白了,ribbon就是处理负载均衡的,ribbon是调用也就是客户端上边的负载均衡,当通过服务发现,从网关找到可调的几个微服务实例时,通过本地的ribbon负载均衡策略选择一个进行调用。

nginx也可以做负载均衡,理解上边跟ribbon反过来,本地调微服务只调一个地址,由nginx上的均稀策略最终路由到其中一个地址。

微服务不建议用nginx,一是因为springcloud里很多服务发现的客户端都已经集成了ribbon,二就是在spring cloud通过服务发现找来的地址列表都是肉网地址,如果都是nginx,网关貌似没有什么作用 了

躲猫猫 2022-01-07 16:14:58

上面这段话居然发不出,一直报存在违规内容,我X,这什么东西违规了?

笑红尘 2022-01-07 16:04:46

第一个问题: zuul网关可以配置多个  可以使用 nginx 的负载 来访问不同的zuul 

第二个问题:zuul和 Ribbon 是一对多的关系 ,zuul负载配置 应该和Ribbon 一样 可以配置也也可以自定义。

坚持沉默 2022-01-07 15:41:24

大概明白了,假设我有ABCDE多个服务,A服务要调用B服务,如果B有多个实例,就可以通过ribbon自动的进行负载,ribbon并不是要放到zuul上。这种是不依赖zuul的。其实我是服务调用这里搞混了,(比如,但如果系统有zuul做网关,A服务调B服务的时候,需要先去zuul,然后再去调用B服务,这个时候,就只要zuul配置了负载即可)

坐在坟头思考人生 2022-01-07 08:33:18

ribbon是服务之间内部的负载均衡    zuul是对外的负载均衡。

 

ribbon的场景是一个微服务调用另一个,会从注册中心拉取实例,可能会存在多个实例的时候,会通过负载均衡策略来决定调用哪一个实例

zuul的场景差不多,但策略有一点不同,具体不太记得了,好像是默认提供了一个根据区域来路由的策略

网关只是相对于微服务的资源路由,只要能够做到负载均衡,网关也是可以部署多个的,通过nginx之类的反向代理工具转发请求到网关,甚至nginx这类反向代理还是可以再部署多台。

白龙吟 2022-01-06 23:03:10

zuul的负载均衡策略我已经找到了,有3种方式,第一种,使用注解

@RibbonClient

可以指定策略,第二种,new 一个

IRule

接口的实现的返回,这个接口的每一个子实现就是一个策略,第三种和第二种差不多,不过是自己重写了实现策略,还是通过new 一个 IRule的子实现,不过这个子实现是自己写的

百思不得你姐 2022-01-06 20:34:02

不是我抬杠,我要知道我还问啥?

筱果果 2022-01-06 01:16:23

你这样问只能说明你还不知道他们的作用以及使用场景

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文