golang 标准库的日志框架非常简单,仅仅提供了 print,panic 和 fatal 三个函数对于更精细的日志级别、日志文件分割以及日志分发等方面并没有提供支持。所以催生了很多第三方的日志库,但是在 golang 的世界里,没有一个日志库像 slf4j 那样在 Java 中具有绝对统治地位。golang 中,流行的日志框架包括 logrus、zap、zerolog、seelog 等。 logrus 是目前 Github 上 star 数量最多的日志库,目前 (2018.08,下同)star 数量为 8119,fork 数为 1031。logrus 功能强大,性能高效,而且具有高度灵活性,提供了自定义插件的功能。很多开源项目,如 docker,prometheus 等,都是用了 logrus 来记录其日志。 zap 是 Uber 推出的一个快速、结构化的分级日志库。具有强大的 ad-hoc 分析功能,并且具有灵活的仪表盘。zap 目前在 GitHub 上的 star 数量约为 4.3k。 seelog 提供了灵活的异步调度、格式化和过滤功能。目前在 GitHub 上也有约 1.1k。
helm简介
jaeger-operator安装
在一个成规模的微服务系统中,一个功能不单由这一个服务完成,而是多个服务协作来共同完成,但是如果其中一个服务出现了错误,对于错误的追踪,对于整个调用链的追踪便成为了难题.
好在外国佬遇到了这些问题,指定了opentracing
规范,并且提供了例如zipkin
,pinpoint
,jaeger
等工具供我们使用
jgit在获取文件时,只能获取仓库中的全部文件,本文提供一种方法,使用jgit获取仓库中的部分文件.
适用场景:
- 用户提交git仓库地址,文件地址,需要读取仓库中的远程文件
鉴于使用二进制的方式安装较为复杂,且不太好处理证书的生成,分发等问题,并且对性能没有较高的要求,所以强烈推荐使用此模式,具体下来这个模式的好处为:
- 官方提供的工具,有官方的文档支持
- 安装贼简单,没有其他的依赖
- 扩展性强,有官方的一些扩展支持
- 集群全部以容器启动,所以没那么多你需要管理的service
kubeadm生成的token过期后,集群增加节点
prometheus和alertmanager监控并发送邮件