由于一台电脑做测试,需要配置 host
127.0.0.1 slave1 slave2
1. Eureka 服务
application.yml
server:
port: 8761
spring:
application:
name: first-cloud-server
profiles: slave1
eureka:
instance:
hostname: slave1
client:
serviceUrl:
defaultZone: http://slave2:8762/eureka/
---
server:
port: 8762
spring:
application:
name: first-cloud-server
profiles: slave2
eureka:
instance:
hostname: slave2
client:
serviceUrl:
defaultZone: http://slave1:8761/eureka/
启动类,通过命令行指定 profile 文件
2. 服务提供者
application.yml 将服务注册到两个 eureka 服务上
spring:
application:
name: first-cloud-provider
eureka:
instance:
hostname: localhost
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/
启动类 ,使用 @EnableEurekaClient 注解,并接收命令行输入启动指定端口
Person.java
3. 服务调用者
将服务注册到两个 eureka 服务上 application.yml
server:
port: 9000
spring:
application:
name: first-cloud-invoker
eureka:
instance:
hostname: localhost
client:
serviceUrl:
defaultZone: http://slave1:8761/eureka/,http://slave12:8761/eureka/
4.编写 REST 客户端进行测试
使用 httpclient
,
pom.xml 如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.crazyit.cloud</groupId>
<artifactId>first-cloud-rest-client</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.2</version>
</dependency>
</dependencies>
</project>
测试类如下:
调用 6 次服务调用者的接口,观察输出
补充:
如果把 8861 停掉,所有请求都会到 8862 上面。
此时的 eureka 中显示 provider 也会变成一个
服务都启动的时候如下:(红色的提示先不用管,启动一会之后就正常了)
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于