介绍
本文基于Netty框架实现了微服务三个基本模块:注册中心,客户端,服务器
一、系统整体框架
系统整体框架如图所示:
项目目录结构如下图所示:
二、系统运行流程
1)首先启动注册中心
2) 启动服务端 ( 服务端初始化心跳发送通道和正常通信通道。服务端启动成功后会向注册中心发送注册消息,注册中心将服务信息保存,注册中心监听服务端心跳发送情况,如果某服务端心跳发送超时,就将该服务端保存在注册中心的服务信息删除,并关闭与该服务端的通信。服务端注册成功后,注册中心将会监听服务端关闭事件,如果服务端意外关闭,会将注册中心保存的该服务端的信息删除)
3)启动客户端(客户端初始化查询通道和正常通信通道)
4)客户端发送服务调用请求(客户端首先会通过查询通道向注册中心查询服务调用地址,注册中心接到客户端请求后 根据客户端请求的服务名称查询服务列表 然后通过指定的负载均衡算法 选定服务地址,然后将选定的服务地址返回给客户端。客户端根据服务地址向服务端发送调用请求。)
三、项目地址
由于代码过多,不再一一贴出,直接给出项目地址。
总结
本文通过nettry仅大体实现了微服务框架中的远程调用和负载均衡部分,具体细节还有待完善。