SpringCloud的负载均衡案例

1. 项目结构。一个服务器,两个个服务提供者,一个服务消费者

server添加两个依赖

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
		</dependency>

client,provider81,provider82添加这两个依赖

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
		</dependency>

2. 启动类上添加注解

server启动类上添加注解@EnableEurekaServer

@EnableEurekaServer

client,provider81,provider82启动类上添加注解

@EnableDiscoveryClient

3. 配置文件

server的配置文件如下

server.port=8080

spring.application.name=server

eureka.instance.hostname=localhost
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.service-url.defaultZone=http://localhost:8080/eureka

provider81,provider8的配置文件如下

server.port=8081
spring.application.name=provider

eureka.instance.hostname=localhost
eureka.client.service-url.defaultZone=http://localhost:8080/eureka
server.port=8082
spring.application.name=provide
eureka.instance.hostname=localhost
eureka.client.service-url.defaultZone=http://localhost:8080/eureka

client的配置文件如下

server.port=8083

spring.application.name=client

eureka.instance.hostname=localhost
eureka.client.service-url.defaultZone=http://localhost:8080/eureka

4. 四个项目分别启动,登录lcoalhost:8080

可以看到

5. 分别在provider81,provider82,provider83中建立TestController文件

在provider81中代码如下

在provider82中代码如下

在client的TestController代码如下,并在其启动类中添加如下代码

6. provider81,provider82,client项目重新启动

查看provider81 http://localhost:8081/test 查看provider82 http://localhost:8082/test 查看client http://localhost:8083/test83,刷新一下

经验分享 程序员 微信小程序 职场和发展