
Java微服务架构组件
文章平均质量分 96
本系列旨在通过实战、代码实现以及企业级组件源码解析,进一步深入学习 Java 微服务架构。
tataCrayon|啾啾
感谢来访。您在看的这个家伙是 Java & AI 码农。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Kafka源码P2-生产者缓冲区
摘要:本文深入分析了Kafka生产者批量发送消息的核心机制。重点剖析了RecordAccumulator缓冲区如何通过TopicPartition队列维护消息顺序,以及ProducerBatch批次的内存池化管理和线程安全实现。文章还探讨了max.in.flight.requests.per.connection参数与幂等性配置对消息顺序性的影响,揭示了Kafka在高吞吐量场景下保证消息顺序的关键设计。通过源码解读,展示了Kafka如何通过内存预分配和复用策略优化性能,以及如何通过状态机设计确保线程安全。这原创 2025-06-15 16:31:01 · 839 阅读 · 0 评论 -
Kafka源码P1-消息ProducerRecord
摘要: 本文探讨了Kafka Producer批量发送消息的机制,重点解析了消息封装(ProducerRecord)和分区器(Partitioner)的设计。Kafka默认使用DefaultPartitioner,根据键的哈希值或粘性策略分配分区;RoundRobinPartitioner实现轮询分发,而UniformStickyPartitioner则优化吞吐量。序列化器支持通过topic和headers参数扩展定制逻辑(如加密或编码)。合理选择分区策略和序列化方式,可提升Kafka生产者的性能和灵活性。原创 2025-06-14 23:59:51 · 1516 阅读 · 0 评论 -
【Java微服务组件】分布式协调P4-一文打通Redisson:从API实战到分布式锁核心源码剖析
Redisson:Redis的Java分布式应用框架 Redisson是一个强大的Java驻内存数据网格框架,基于Redis实现分布式锁、集合、对象等功能。它将Redis复杂操作封装为简单易用的Java接口,支持分布式锁(RLock)、集合(RMap/RList)、对象(RBucket)等数据结构的本地化操作。通过底层Redis数据结构(String/Hash/List)和Lua脚本实现高效分布式功能,并提供自动序列化、锁续期等特性。集成Spring Boot时只需简单配置即可注入RedissonClien原创 2025-06-07 14:27:02 · 1452 阅读 · 0 评论 -
【Java微服务组件】分布式协调P3-从简单到复杂:锁的分布式协调之道
在微服务架构中,分布式协调是确保服务间高效协作的关键。本文深入剖析 Redis 和 ZooKeeper 在分布式锁实现中的机制与挑战,从基础的 SETNX 和 ZNode 到复杂生产场景下的锁续期、身份认证与可重入设计。面对网络不可靠、客户端崩溃等现实问题,我们探讨了看门狗、Lua 脚本、会话机制等解决方案,并对比了两者共识机制的权衡:ZooKeeper 的强一致性保障可靠但牺牲可用性,Redis 的高性能则以最终一致性为代价。解锁分布式协调的奥秘,助你应对复杂分布式系统的挑战!原创 2025-06-07 10:00:00 · 967 阅读 · 0 评论 -
【Java微服务组件】分布式协调P1-数据共享中心简单设计与实现
分布式微服务架构中,有一些常见的分布式协调问题,如配置管理、命名服务(共享服务实例的地址信息)、分布式锁、集群管理、Master选举等。这些协调问题可以简单归纳为**数据的共享与状态监控**,我们需要解决这些问题来保障架构的可用、性能,同时降低耦合、开放拓展等。原创 2025-05-16 17:44:20 · 1106 阅读 · 0 评论 -
【Java微服务组件】异步通信P2—Kafka与消息
消息与消息队列是如何交互的?原创 2025-05-21 14:26:59 · 1523 阅读 · 0 评论 -
【Java微服务组件】异步通信P1—消息队列基本概念
消息队列(MQ)是一种异步通信方式,广泛应用于异步处理、流量削峰、数据广播等场景,追求高性能和应用解耦。MQ的基本模型包括点对点(P2P)和发布/订阅(Pub/Sub)两种。P2P模型中,生产者发送消息到队列,消费者从队列中接收消息,确保消息被处理一次;Pub/Sub模型中,生产者将消息发布到主题,所有订阅该主题的消费者都会收到消息副本,适合事件驱动架构。消息由消息体和消息头组成,常见消息体格式有JSON、XML、Protobuf等。消息代理(Broker)负责接收、存储和转发消息,消息持久化确保消息不丢失原创 2025-05-20 21:36:54 · 624 阅读 · 0 评论 -
【Java微服务组件】注册中心P3-Nacos中的设计模式1-观察者模式
Nacos中的观察者模式,带代码demo与图解原创 2025-04-19 15:35:05 · 1507 阅读 · 0 评论 -
【Java微服务组件】注册中心P2-Nacos解析
Nacos内核设计、高可用设计原创 2025-04-11 11:34:19 · 897 阅读 · 0 评论 -
【Java微服务组件】注册中心P1-简单注册中心实现
通过对注册中心的简单实现,我们不难发现,简单的Master-Slave结构无容错机制,一旦 Master 节点故障,整个系统将不可用。且分布式网络往往是不可靠的,单纯依赖内存存储的容错能力极低,且无法支持大规模服务实例的扩展。在实际生产中,服务的健康状态也更加复杂,健康监测也需要考虑多协议支持,HTTP方式的信息密度和效率无法支持高并发需求等。对于不同的服务需要配置的检查方式可能也不一样,间隔、超时阈值也各不相同。注册表的一致性问题也更加复杂,分布式数据的隔离性实现也不是本地JVM锁能做到的。原创 2025-04-09 09:00:00 · 894 阅读 · 0 评论