微服务架构设计
服务通信方式对比 | 特性 | REST API | gRPC | |——|———-|——| | 传输协议 | HTTP/1.1 | HTTP/2 | | 数据格式 | JSON | Protocol Buffers | | 性能 | 一般 | 高(二进制传输,多路复用) | | 易用性 | 高(人类可读) | 中(需定义.proto文件) | | 生态 | 丰富 | 正在发展 | | 适用场景 | 外部API,简单服务通信 | 内部微服务,高性能需求场景 |
Kafka高可用机制
分区副本机制:每个主题分区有多个副本,一个Leader和多个Follower
ISR机制:只有在ISR(In-Sync Replicas)列表中的副本才能成为Leader
故障转移:当Leader副本故障时,从ISR中选举新的Leader
数据可靠性保证:
producer端:acks=all(等待所有ISR副本确认)
broker端:min.insync.replicas设置最小同步副本数
consumer端:enable.auto.commit=false手动提交offset