linux怎么查看本机内存大小
272
2022-08-23
【云原生&微服务一】SpringCloud之Ribbon实现负载均衡详细案例(集成Eureka、Ribbon)
一、负载均衡概述
在分布式 或 微服务架构中,服务的提供者往往有多个实例 会注册到服务注册中心中,服务消费者需要使用服务时,需要决定使用哪个服务提供者,这正是负载均衡的体现。 负载均衡也可以理解为:将用户的请求平摊分配到每个服务器上,尽可能的压榨每台服务器的带宽、性能。
负载均衡的方式有两种:
服务端负载均衡
像以前的老架构,通过nginx对请求做负载均衡,然后下发到指定的tomcat。
客户端负载均衡
client获取到所有的service实例,然后做负载均衡规则。例如:Ribbon、Feign
本文我们针对SpringCloud如何集成Ribbon实现负载均衡做一个讨论。
注:(版本信息)–
二、Ribbon实现负载均衡
整体项目目录包括三个Module,分别为:eureka-server、ribbon-feign-sample、ribbon-feign-sample-consumer。
其中eureka-server作为服务注册中心、ribbon-feign-sample作为服务提供者、ribbon-feign-sample-consumer作为服务消费者。
Ribbon 与 RestTemplate 配合使用,实现了微服务之间的调用。
0、最上层父项目spring-cloud-center的pom.xml文件
5、启动GREETING-SERVICE服务实例1(8081端口) 服务启动成功后,控制台输出如下: 再看eureka-server dashboard中多了一个 GREETING-SERVICE 服务,并且其有一个实例 192.168.3.32:greeting-service:8081。 6、启动GREETING-SERVICE服务实例2(8082端口) 1> 修改RibbonFeignSampleApplication的配置: 2> 复制出一个RibbonFeignSampleApplication配置: 3> 修改第二启动类配置名为:RibbonFeignSampleApplication-8082,启动端口为8082: 4> 运行RibbonFeignSampleApplication-8082: 5> 启动之后,看eureka-server dashboard中GREETING-SERVICE 服务多了一个实例 192.168.3.32:greeting-service:8082: 3、搭建服务消费者ribbon-feign-sample-consumer ribbon-feign-sample-consumer整体代码结构目录如下: 其包含一个pom.xml文件、一个application配置文件、一个启动类、一个Http负载均衡配置类、一个Controller。 1、pom.xml ConsumerController中通过RestTemplate调用dashboard中多了一个 CONSUMER-SERVICE 服务,并且其有一个实例 192.168.3.32:consumer-service:9090。 4、使用浏览器进行调用服务消费者 上述步骤中,我们已经依次启动了eureka-server、ribbon-feign-sample-8081、ribbon-feign-sample-8082、ribbon-feign-sample-consumer;三个服务、四个实例。 此处我们针对服务消费者ribbon-feign-sample-consumer做四次接口调用,分别为: ribbon-feign-sample-8081控制台输出: 2> ribbon-feign-sample-8082控制台输出: 3> 结果说明: 我们可以发现,四个请求,ribbon-feign-sample-8081和ribbon-feign-sample-8082各分担了两个请求。其中ribbon-feign-sample-8081服务实例承担了请求:Ribbon是如何实现负载均衡(源码分析)?
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~