SpringCloud(五)调用Eureka中的服务之Ribbon

文章内索引
[显示]

在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign,feign默认集成了ribbon。

ribbon

ribbon是一个负载均衡客户端,可以很好的控制http和tcp的一些行为。

Ribbon工作时分为两步:第一步先选择Eureka Server,它优先选择在同一个Zone且负载较少的Server;第二步再根据用户指定的策略,在从Server取到的服务注册列表中选择一个地址。其中Ribbon提供了多种策略。例如轮询round robin、随机Random、根据响应时间加权等。

Simple

Ribbon需要注册至eureka服务中心,通过eureka服务发现获取服务列表,ribbion负载均衡通过rule选择要调用的服务,所以工程需要引入eureka discovery与ribbon。

 

http://start.spring.io/中,输入eureka discovery与ribbon快速生成eureka服务调用项目。

添加@EnableDiscoveryClient注解,启动springboot项目(此项目与其他Restful风格的springboot项目一致,只需要添加@EnableDiscoveryClien即可注册至服务中心)

pom

 

配置

 

code

如图所示,hanson-service服务分别启动在8001,8002,8003端口。

SpringCloud(五)调用Eureka中的服务之Ribbon|eureka-翰林小院 第1张

通过访问调用端,会发现此时ribbion通过轮询的方式,分别访问这三个服务。

此时服务的架构为(盗图..)

此时架构图.png 第2张SpringCloud(五)调用Eureka中的服务之Ribbon|eureka-翰林小院 第3张

 


©版权声明:本文为【翰林小院】(huhanlin.com)原创文章,转载时请注明出处!

发表评论

电子邮件地址不会被公开。