前言
在微服务架构中,服务注册和发现是核心组件之一,而 Nacos 能作为目前主流的注册中心,不仅仅是因为其功能特性、开源、成熟度等,更重要的是它在可用性方面所作的保障,确保了系统能在复杂的场景下稳定运行。本文就 Nacos 在客户端实现的一系列高可用机制,并结合相关源码一起学习下。
在前面我们学习到 Kafka 生产者在发送时,消息会先流入到消息收集器 RecordAccumulator,随后再由另外的线程—— Sender 线程将累积的消息发往 Kafka 服务端。本篇文章一起学习下 Sender 线程的工作流程。
Sender 线程的启动可以在 KafkaProducer 的构造函数中找到:
1 | //... |
我们都知道,在使用 Kakfa 客户端发送消息时,只需要指定主题和消息的内容,再调用发送方法即可。那发送方法中具体包含了哪些逻辑呢,本文结合源码一起来看下。
1 | // 构建消息 |