可扩展的高性能 RPC 框架
核心技术:Spring Boot、Vert.x、Etcd、SPI、自定义协议、Netty/TCP、Docker
项目描述:基于 Etcd 与 Vert.x 构建的高性能、可扩展 RPC 框架,通过自定义通信协议与 Spring Boot Starter 方式接入,支持以注解和配置的形式像调用本地方法一样调用远程服务,并支持通过SPI机制动态扩展序列化器、负载均衡、重试和容错策略等。
- 实现了高可用的分布式注册中心,利用其层级结构和 Jetcd 的 KvClient 存储服务和节点信息,并支持 SPI 机制扩展。
- 利用定时任务和 Etcd Key 的 TTL 实现服务提供者的心跳检测和续期机制,节点下线一定时间后自动移除注册信息。
- 基于 Vert.x 的 RecordParse 完美解决半包粘包问题,使用装饰者模式封装了 TcpBufferHandlerWrapper 类,一行代码即可对原有的请求处理器进行增强,提高代码可维护性。
- 使用 Jmeter 进行压力测试,使用 5000 个线程并发调用,TPS 达到 20000 左右。