Golang中的版本信息管理
我们都知道在一些Golang写的程序中,默认会有
version
或-v
相关的参数来输出软件版本信息,这些版本信息里可能包含软件版本,git中的commit记录,构建时间、构建环境等信息,那么这些信息都是如何在Golang程序中进行维护和管理的呢?请看👇.
示例
比如我们常用的Golang开发的程序是这样输出版本相关信息的:
|
|
我们都知道在一些Golang写的程序中,默认会有
version
或-v
相关的参数来输出软件版本信息,这些版本信息里可能包含软件版本,git中的commit记录,构建时间、构建环境等信息,那么这些信息都是如何在Golang程序中进行维护和管理的呢?请看👇.
示例
比如我们常用的Golang开发的程序是这样输出版本相关信息的:
|
|
在Kafka集群运维过程中,我们通常会借用一些开源工具来完成kafka的日常运维需求和相关问题排查,接下来介绍几个常用的kafka运维神器。
我们都知道,自从Kafka诞生之际,就一直使用Zookeeper服务来进行kafka集群的元数据和状态管理,虽然在KIP-500中有提议未来将移除Zookeeper的依赖,使用Raft协议来实现新的元数据和状态管理,但在这之前,我们仍然需要对kafka集群的整个元数据和状态有一定理解,才能更好的维护和保障kafka集群。
在kafka集群中,ZooKeeper集群用于存放集群元数据
、成员管理
、Controller 选举
,以及其他一些管理类任务
。
存放元数据
: 是指主题分区的所有数据都保存在 ZooKeeper 中,且以它保存的数据为权威,其他“人” 都要与它保持对齐。成员管理
: 是指 Broker 节点的注册、注销以及属性变更。Controller 选举
: 是指选举集群 Controller,而其他管理类任务包括但不限于主题删除、参数配置。