分布式日志系统构思
框架制定
通过查询文档、查看优秀的开源Springcloud项目,最终是定下这么一套日志系统: ELK+RabbitMq+cloud Sleth+ZipKin
流程思路
这里不放具体代码,只记录构思。
微服务绑定zipkin链路追踪即可实现试图化链路损耗、可视化链路异常、链路优化等机制。
zipkin记录的数据通过实现RabbitMq(默认支持rabbitmq)发送到es进行存储,这里选用es而不是mysql是因为mysql的读写限制、速度、查询速度不及es.
这里链路的健康日志就已经记录,实际的log日志需要实现logstash。
注意,官网下载logstash后,maven引用logstash依赖,并编写logback-spring.xml.
这玩意也是通过rabbitmq去传递log到es的,具体代码可以自行查找。
俩端数据在es后,由kibana将es数据视图化展示,至此 日志系统流程完结。
值得一提在未接入docker部署的情况下,部署成本真的很大。。
疑惑
此套日志系统确实很全面,但是与之而来的内存损耗是否值得?
分享
可以看看这大哥的springcloud集成zipkin的系列文章
https://thinkingcao.blog.csdn.net/article/details/104957540
虽然没有集成logstash,但是对于初次搭建此类系统的有很强的启蒙性.
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!