最后更新:2022-01-23 01:57:21 手机定位技术交流文章
距离写的代码的时间比较久了,在这里只是简单的总结介绍一下。
简单实现了基于Netty的RPC框架并将其注册到Nacos,介绍内容包含序列化,自定义协议,负载均衡算法,Nacos相关服务。
文末有源码链接。
著名的分布式服务框架Dubbo使用Dubbo协议进行节点间通信,而Dubbo协议默认使用Netty作为基础通信组件。还有Zookeeper,RocketMQ等底层rpc通讯也使用的是Netty。因此学习Netty对掌握这些框架原理还是比不可少的。
序列化:
为实现传输数据和通信,序列化是比不可少的,选择合适的序列化算法是非常重要的,通常要选择性能高,生成字节数少的算法。这里我准备了以下实现:JDK自带的,Json ,还有一个貌似当初因为时间关系没实现的Protobuf,以后有时间补上。
自定义的协议:
负载均衡算法:实现了两个分别是:随机和轮换
解决粘包/拆包的方法:
主要思想是添加一个长度字段,用于记录偏移量。
关于在Nacos获取服务的部分:
自动扫描注册
源码: https://gitee.com/alice-175/netty-rpc
本文由 在线网速测试 整理编辑,转载请注明出处。