Spring Cloud 2 集成Zipkin server方案(完成)
温馨提示:
本文最后更新于 2019年10月09日,已超过 1,893 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
该篇文章基于上次没有完成的部分说起(Spring Cloud 2 集成Zipkin server方案(第一阶段))。
之前Simon已经大概说了一下背景,因为springboot默认使用了tomcat作为WEB容器,而zipkin在2.7之后使用了armeria替代Tomcat,这样,按照上一次我们的配置,会出现服务启动后,springboot中的tomcat和armeria同时启动的问题,这样就会有两个服务端口,即springcloud一个服务端口,zipkin-server一个服务端口。
原来计划将zipkin-server集成的armeria尝试剔除掉,改用springboot的tomcat,但是,经过代码分析发现,在不改动源码的情况下,zipkin的配置注解已经强制使用armeria,所以,只能考虑将springboot中的tomcat剔除。
配置如下:
pom.xml文件中,剔除spring-boot-starter-web的依赖。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
yml文件中,端口配置使用server.port的,这样服务启动只需要一个端口即可。
armeria:
ports:
- port: ${server.port}
protocols:
- http
gracefulShutdownQuietPeriodMillis: -1
gracefulShutdownTimeoutMillis: -1
增加如下配置,剔除springcloud的web应用
spring:
main:
web-application-type: none
其余的跟前一篇文章保持一致即可。
完整的application.yml文件配置如下:
server:
#服务端口
port: 8007
armeria:
ports:
- port: ${server.port}
protocols:
- http
gracefulShutdownQuietPeriodMillis: -1
gracefulShutdownTimeoutMillis: -1
spring:
application:
name: dc-sleuth-server
datasource:
url: jdbc:mysql://127.0.0.1:3306/zipkin?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false
username: sit_mysql_user
password: 123654
driver-class-name: com.mysql.jdbc.Driver
main:
allow-bean-definition-overriding: true
web-application-type: none
zipkin:
collector:
#消息队列配置
rabbitmq:
addresses: 127.0.0.1:5672
username: guest
password: guest
virtual-host: /
queue: zipkin
storage:
type: elasticsearch
elasticsearch:
hosts: 10.239.32.47:9200
cluster: elasticsearch
index: zipkin
index-shards: 1
index-replicas: 1
eureka:
instance:
instance-id: ${spring.cloud.client.ip-address}:${server.port}
prefer-ip-address: true
metadata-map:
cluster: dc
client:
service-url:
defaultZone: http://localhost:8001/eureka
# 加载所有的端点/默认只加载了 info / health
management:
endpoints:
web:
exposure:
include: "*"
metrics:
web:
server:
auto-time-requests: false
endpoint:
health:
show-details: always
enabled: true
看下启动的效果:
这个是zipkin-UI打开的效果:
然后,我们再看下springcloud是的注册是否正常。
正文到此结束
- 本文标签: 其他
- 本文链接: https://www.v8en.com/article/151
- 版权声明: 本文由SIMON原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权