最近需要举办一场活动,某个业务访问量上升,有一定并发场景,为了活动能够顺利举行,解决方案就是将业务进行分布式,分布式部署到不同服务器,平摊用户请求,微服务使用的是SpringCloud Alibaba+nacos,服务器是华为云服务器,因为服务器在不同账号下,可以通过vpc服务将服务器组成内网集群,方便后面服务的访问及保护服务器安全,查看官方文档:vpc对等连接,这里需要注意的是vpc只能一对一连接,我之前分布式是已经进行一次对等连接,后面再加服务器不能进行双向通信,这是个坑,不同账号下的服务器vpc得配置好,最好是每个服务器vpc不一样,后面配置网络会方便很多,不会的可以咨询华为云工程师。
造成的结果是:服务器1可以内网访问服务器2
但是服务器2却不能内网访问服务器1
服务注册到注册中心,默认的是服务器内网ip+服务端口,因为服务器2不能内网访问服务器1,所以需要指定服务的注册ip地址
spring.cloud.nacos.discovery.ip=可被注册中心访问的ip地址
查看服务集群情况,注册成功,调整对应权重即可实现服务间的负载均衡