通常高可用不建议把相同服务放到同一台机子上
业务服务高可用:
将我们的服务注册到eurake和nacos很容易实现,
假设client1,client2,client3相同的服务
client1: 注册到注册中心8080,8081,8082,上
client2: 注册到注册中心8080,8081,8082,上
client3: 注册到注册中心8080,8081,8082,上
每个注册中心都可以看到同一个服务下有三个ip:端口
eureka.client.serviceUrl.defaultZone=http://localhost:8080/eureka/,http://localhost:8081/eureka/,http://localhost:8082/eureka/
注册中心高可用:
eureka-server 相互注册实现集群效果
eurake-server1:注册到其他两个地址eureka.client.serviceUrl.defaultZone=http://localhost:8081/eureka/,http://localhost:8082/eureka/
eurake-server2:......
eurake-server3:......
nacos-server 通过编辑bin/cluster.config实现集群,原理也是相互注册,client也是注册全部集群地址
nacos-server1:
127.0.0.2:8848
127.0.0.3:8848
nacos-server2:......
nacos-server3:......
网关高可用:
SpringGateway
对外开放网关可以使用nginx 轮询实现网关集群高可用
对内服务网关可以使用注册中心实现网关集群,
数据库高可用:
详见mysql 官网 mysql cluster集群解决方案