[笔记.zipkin]用Docker搭建zipkin-rabbitmq-mysql环境(C#客户端-zipkin4net)
在之前验证中,是使用zipkin4net直接以HTTP方式向zipkin服务端发送链路数据,这样会存在一些“性能”问题。比如:
- 在并发量稍微上去一些/发送数据量增高,HTTP方式的效率问题则显现出来,进而影响到我们程序的性能;
- 当Zipkin服务端网络不通或Zipkin服务端宕机时,HTTP方式会被“阻塞”,也会明显影响到程序的性能。
本来是要用zipkin帮助我们优化程序的,反倒被拖慢了性能。虽然链路数据输出不需要一直开启,通常只是查问题时开启,但对性能影响大了也不太好。所以做了个改进——使用zipkin4net将链路数据发布到RabbitMQ,让Zipkin订阅。
以上是背景,然后把用Docker搭建环境的过程记录以下,主要是配置。
1、分别用Docker安装mysql、rabbitmq、zipkin;
2、其中rabbitmq注意装有management的版本,不要直接用latest;
3、mysql安装后注意调整账号的验证方式(参见上篇文章:[问题记录]配置zipkin数据存储到mysql时报错Access denied for user 'root'@'172.17.0.1' (using password: NO))
4、安装好mysql后,创建并初始化zipkin数据库。脚本在:https://github.com/openzipkin/zipkin/blob/master/zipkin-storage/mysql-v1/src/main/resources/mysql.sql
5、接下去就是zipkin的配置,增加以下环境变量:
MYSQL_DB
MYSQL_USER
MYSQL_PASS
MYSQL_HOST
MYSQL_TCP_PORT
STORAGE_TYPE mysql
zipkin.collector.rabbitmq.addresses 192.168.31.120:5672
zipkin.collector.rabbitmq.username admin
zipkin.collector.rabbitmq.password admin
zipkin.collector.rabbitmq.queue zipkin
启动即可!快的话,10分钟应该能搞定。嗯,确实是10分钟。