美文网首页
三.服务发现与消费(Ribbon实现负载均衡)

三.服务发现与消费(Ribbon实现负载均衡)

作者: 会飞的鱼_0cf5 | 来源:发表于2018-12-07 16:14 被阅读0次

服务注册中心与服务提供者完成之后,服务发现的任务由Eureka的客户端完成,而服务消费的任务由Ribbon完成。Spring Cloud Ribbon 是一个基于Http和TCP的客服端负载均衡工具,它是基于Netflix Ribbon实现的

  • 首先启动服务注册中心以及hello-service,为了使用Ribbon的负载均衡功能,通过命令行的方式来启动两个不同端口的hello-service
java -jar hello-service-0.0.1-SNAPSHOT.jar --server.port=8081 
java -jar hello-service-0.0.1-SNAPSHOT.jar --server.port=8082 
  • 成功启动两个hello-service后,Eureka信息面板中可以看到名为HELLO-SERVICE的服务中出现了两个实例单元 image.png
  • 创建Spring Boot基础工程来实现服务消费(ribbon-consumer),并在pom.xml中引入必要的依赖内容
<dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
 </dependencies>

在application.properties中配置

eureka.client.serviceUrl.defaultZone= http://localhost:8761/eureka/
spring.application.name=ribbon-consumer
server.port=8090

启动 ribbon-consumer 应用后,在 Eureka 信息面板中看到多了RIBBON-CONSUMER服务

image.png
通过访问http://localhost:8090/hi?name=li,可以看到输出
hi we,serverPort:8081

再尝试多访问http://localhost:8090/hi?name=li几次,就可以看到

hi we,serverPort:8082
hi we,serverPort:8081  

这两个轮流替换,说明负载均衡起作用了

相关文章

网友评论

      本文标题:三.服务发现与消费(Ribbon实现负载均衡)

      本文链接:https://www.haomeiwen.com/subject/qpcocqtx.html