发表于: 2020-08-07 22:34:00

1 2144


今天完成的事情

1.【Spring Cloud 重写项目】部署注册中心

2.【Spring Cloud 重写项目】部署管理中心

3.【Spring Cloud 重写项目】部署服务端

4.【Spring Cloud 重写项目】部署客户端

5.【Spring Cloud 重写项目】测试


spring boot admin & eureka server & providers & redis & mysql


consumer


在腾讯云布置的服务器集成了注册中心、admin、网站服务端、rredis、mysql

阿里云服务器布置了网站客户端与 nginx


服务端 feign 自带 ribbon 负载均衡,客户端使用 nginx upstream

实现了双服务端+双客户端,测试任意挂一台 client\service 都没有问题,登录状态用 JWT 保存,与服务端无关(刚挂会有一个请求失败,刷新网页后正常)。


注册中心截图


admin 截图


遇到的问题

1. 无法连接到 eureka server

原因:

eureka client 的配置中 server-url.default-zone: http://xxxx 在一些版本中是无法连接到注册中心的,之前在本地测试无论写成 default-zone 还是 defaultZone 都是可以正常运行的,不清楚是怎么回事。

解决的方法:

eureka client 配置都改成 defaultzone

这个问题花了一下午加半个晚上


2. 网站服务端工作正常,但是邮件服务健康状态显示失败导致 admin 显示服务离线

测试邮件服务工作正常,是健康检查无法 telnet 到邮件服务商的地址。

解决方法;

关闭邮件服务健康检查

management.health.mail.enabled: false


关闭后 admin 显示服务正常在线,邮件服务测试无故障。


收获

1. 关于 eureka 注册中心在外网环境的设置

在 eureka 网页上看到的地址都是 instance-id,这个只是一个显示的服务 id,不会影响访问。真正要注意的右键 instance-id 之后复制到的地址,这个才是其他的服务从注册中心拉取到的服务地址,是会用于访问的。


鼠标放上去显示的的这个地址是 ip 还是域名这取决于我们的配置

eureka:
instance:
lease-renewal-interval-in-seconds: 10
   health-check-url-path: /actuator/health
prefer-ip-address: true # 使用 ip 地址注册
   ip-address: 127.0.0.1 # 默认用于注册的 ip 地址,可以在运行服务的时候添加参数覆盖

比如在上面这个配置里面,我决定使用 ip 地址注册到注册中心。那么在注册中心就会像上图那样显示。

其中的哪个 ip 地址可以在我们在服务器上启动的时候使用参数覆盖,如下所示

java -jar consumer-0.0.1-SNAPSHOT.jar --eureka.instance.ip-address=119.xxx.xx.199


这样的话其他的服务就可以通过这个 ip 来消费我们提供的服务。当然我们也可以设置使用域名来注册,那么这个配置文件需要做一些改动。



明天的计划

1. 完成任务九深度思考



返回列表 返回列表
评论

    分享到