Skip to content
/ MyRpc Public

从0开始,实现一个简单的RPC框架

Notifications You must be signed in to change notification settings

TheWhc/MyRpc

Repository files navigation

基于BIO实现的RPC

优点

  • 通用消息格式(Request、Response)
  • 客户端的动态代理完成对Request消息格式的封装
  • 支持服务端暴露多个服务接口,服务端程序抽象化,规范化
  • 添加线程池版的服务端的实现

缺点

  • 传统的BIO与线程池网络传输性能低

TODO

  • Netty传输
  • 多种序列化方式

基于Netty实现的RPC

优点

  • 使用Netty实现了客户端与服务端的通信
  • 自定义了消息格式,使之支持多种消息类型、序列化方式(Json、Hessian、Kryo)
  • 使用Netty的拆包器解决了粘包问题

缺点

服务端和客户端通信的host和port预先就必须知道,每一个客户端都必须知道对应的ip和端口号,并且如果服务挂了或者地址换了,就很麻烦。

TODO

  • 服务器注册与发现的实现用zookeeper作为注册中心
  • 负载均衡的策略的实现

基于ZooKeeper为注册中心实现的RPC

优点

  • 基于ZooKeeper实现了注册与发现
  • 负载均衡
  • 动态感知服务器状态

About

从0开始,实现一个简单的RPC框架

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages