
运维
BGBiao
前京东数科高级运维工程师(SRE),目前关注领域: 容器云,CloudNative,Kubernetes,DevOps,SRE,热衷于使用Golang语言在整个工作中创造价值。
展开
-
这几个kafka工具,值得了解一下
在Kafka集群运维过程中,我们通常会借用一些开源工具来完成kafka的日常运维需求和相关问题排查,接下来介绍几个常用的kafka运维神器。kafka-manager由雅虎开源的kafka集群管理工具,不过现在已经改名为CMAK了(说明kafka的运维痛点还是蛮多的,项目还可以做更多的事情),核心功能如下:多集群管理集群瞬时监控(topics, brokers, 副本分布,分区分布等)优先副本选举主题,分区,副本管理(主题创建和参数调整,副本分配等)Broker和Topic级别的met.原创 2020-06-27 15:43:04 · 4253 阅读 · 2 评论 -
kafka集群元数据在zookeeper中的存储分布
我们都知道,自从 Kafka 诞生之际,就一直使用 Zookeeper 服务来进行 kafka 集群的元数据和状态管理,虽然在 KIP-500 中有提议未来将移除 Zookeeper 的依赖,使用 Raft 协议来实现新的元数据和状态管理,但在这之前,我们仍然需要对 kafka 集群的整个元数据和状态有一定理解,才能更好的维护和保障 kafka 集群。前言 在 kafka 集群中,ZooKeeper 集群用于存放集群元数据、成员管理、Controller 选举,以及其他一些管理类任务。存放元...原创 2020-06-21 23:22:46 · 1800 阅读 · 0 评论 -
这些经典的kafka面试知识,你都知道吗?
无论是作为面试官,还是应聘者,我都接触过很多 Kafka 面试题。而在最近面试了很多候选人,发现写了熟悉 Kafka,但是对于 Kafka 相关的知识却是只知道大概用处,简单搭建和使用。我想说,虽然我们是 SRE (可靠性工程师),但不论你是业务层的 SRE 还是基础设施层的 SRE,我们都需要对业务方的使用场景有足够理解,或者对我们要提供的服务有足够的了解才行,这样你才能整体的保证你的业务连续性以及业务可靠性。因此,专门总结了如下经典的 kafka 面试详解。以下面试题,参考胡大的 Kafka...原创 2020-06-15 00:23:00 · 364 阅读 · 0 评论 -
5分钟帮你快速回顾正则表达式
背景:在日常工作中,我们经常会使用正则表达式来快速匹配和过滤一些我们期望的字符串来处理一些简单又繁琐的文字统计和过滤操作;而作为一名技术从业者,我们也经常会在程序中或者配置文件中使用正则表达式来处理字符或进行批量配置项的查询和更改,但通常情况下,我们需要对编写的正则表达式进行不断测试才能满足我们的需求,本篇文章带你重新回顾正则表达式,并分享一个在线的正则表达式工具 (https://regex101.com/),帮你在工作中快速测试你的正则表达式。什么是正则表达式? 正则表达式是一组由字母...原创 2020-06-06 10:52:30 · 481 阅读 · 0 评论 -
Golang下的unicode与字符编码
背景: 在我们使用Golang进行开发过程中,总是绕不开对字符或字符串的处理,而在Golang语言中,对字符和字符串的处理方式可能和其他语言不太一样,比如Python或Java类的语言,本篇文章分享一些Golang语言下的Unicode和字符串编码。Go语言字符编码注意: 在Golang语言中的标识符可以包含 " 任何Unicode编码可以标识的字母字符 "。被转换的整数值应该可以代表一个有效的 Unicode 代码点,否则转换的结果就将会是 “�”,即:一个仅由高亮的问号组成的字符串值。另外,.原创 2020-05-30 15:17:39 · 4121 阅读 · 2 评论 -
一文理解kafka端到端的延迟
前言: 在大规模的使用kafka过程中,我们通常会遇到各种各样的问题,比如说,通常会有一些大数据集群中的Job发现总有几个task会比较慢,导致整体的任务迟迟不能完成运行,这种情况通常问题会比较复杂,想要知道具体延迟在哪里,我们需要知道在Kafka集群中哪些点可能会增加端到端的延迟。接下来的内容翻译自confluent官网博客中的一篇文章,希望能够帮助大家理解kafka使用过程中端到端的延迟99th Percentile Latency at Scale with Apache Kafka。文章目.翻译 2020-05-24 07:57:11 · 1805 阅读 · 0 评论 -
kafka如何更好的规划Topic分区
背景: 如同其他分布式系统一样,在kafka集群中,单Topic的partition也并不是越多越好,但通常对于业务方来说,可能会简单的根据生产者或消费者的处理能力来提出扩partition的需求,此时就需要根据具体的场景进行分析以确定partition的数量。对于Kafka集群承载的业务Topic来说,分区的数量,可以体现出整个业务的量级同时能够尽可能的提供更高的吞吐,但并不是越多的分区就意味着越高的吞吐和处理能力,通常情况下需要业务方和基础服务方一起来进行分析。以下为多分区Topic的优缺点,可.原创 2020-05-16 15:12:59 · 1204 阅读 · 0 评论 -
kafka运维常用操作,你知道几个?
要想kafka跑的好,如下几点要知晓。Graceful shutdown建议开启如下参数:controlled.shutdown.enable=true注意: 只有在broker上承载的分区都具有副本时(副本大于1,且副本存活),controller节点才会成功关闭Balancing leadership每当Broker停止或崩溃时,该broker的分区的领导权就转移到其他副本。...原创 2020-05-04 23:58:40 · 589 阅读 · 0 评论 -
一文搞懂Traefike的可观测性方案,告别"背锅侠"
Traefik的可观测性支持traefik-observability注意: 在Traefik-2.X的生态里,将可观测性分为了如下几个部分,并提升到了专门的功能说明中服务日志: Traefik进程本身相关的操作日志 访问日志: 由Traefik接管的代理服务的访问日志(access.log) Metrics: Traefik提供的自身详细的metrics数据 Tracing: ...原创 2020-04-12 21:20:51 · 2592 阅读 · 0 评论 -
分布式对象存储服务Minio的可观测性方案
背景: 对于初创企业来说,在很长一段时间一些基础的开源服务基本都是"裸奔"上线的,除了一些传统的主机级别的监控之外,很难有一些额外的性能指标来描述该服务的整体性能情况。在我们的Minio对象存储服务上线以来一直也是裸奔的,虽然暂时也没出现过故障,但是作为一名专业搞笑的SRE来讲,服务的可观测性一定得跟上,不然后期铁锅是妥妥的背定了,这篇文章就主要介绍下Minio的可观测性方案。感兴趣的可直...原创 2020-04-12 21:07:53 · 1153 阅读 · 0 评论 -
基于DCGM和Prometheus的GPU监控方案
基于DCGM和Prometheus的GPU监控方案背景: 在早期的GPU监控中我们会使用一些NVML工具来对GPU卡的基本信息进行采集,并持久化到监控系统的数据存储层。因为我们知道,其实通过nvidia-smi这样的命令也是可以获取到GPU的基本信息的,但随着整个AI市场的发展和成熟,对于GPU的监控也越来越需要一套标准化的工具体系,也就是本篇文章讲的关于DCGM相关的监控解决方案。DC...原创 2020-04-05 18:16:50 · 7783 阅读 · 1 评论