1.部署高可用的eureka(分布式部署)
eureka1部署在101.132.190.36的服务器上面端口为8761,向47.92.200.218的8762端口注册,
eureka2部署在47.92.200.218的服务器上面端口为8762,向101.132.190.36的8761端口注册
分别打包上传到服务器上运行
2.部署user(分布式部署)
user1的配置
user2的配置
然后打成jar包分别部署的在两台服务器上,并运行项目。
此时发现问题:
- 在eureka界面显示服务名,不是ip
- 点进去显示的是内网+端口号
- 分布式点进去显示的是同一ip
解决方案:
eureka客户端的yml的配置
eureka:
client:
service-url:
defaultZone: http://101.132.190.36:8761/eureka/
instance:
ip-address: 47.92.200.218 #决定Eureka服务显示host
hostname: ${eureka.instance.ip-address} #决定服务跳转host,必须指定
prefer-ip-address: false #不设可自己指定,true会自动获取本地ipv4地址
instance-id: ${eureka.instance.ip-address}:${server.port}
然后打包重新部署,发现去全部变成了ip+端口号的方式显示
3.部署order
order项目依赖于user项目
在user项目的pom添加
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<classifier>exec</classifier>
</configuration>
</plugin>
</plugins>
</build>
然后install user项目,package order项目
在服务器运行
4.部署gateway项目
gatewat项目的配置
将gateway项目打成jar包部署到101.132.190.36
测试gateway的负载均衡,请求http://101.132.190.36:8090/user/testFeign,发现请求分别分发到两台服务器了。