Coder Social home page Coder Social logo

bdqfork / d-rpc Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 2.0 519 KB

参考Dubbo编写的RPC框架,用于学习使用。基于Netty实现底层通信,实现了基本的RPC功能,包括超时重试,负载均衡等功能,且可以通过Extension机制进行扩展。

Java 100.00%
rpc rpc-framework toy netty-rpc spring spi extensionloader

d-rpc's Introduction

该项目是本人参考Dubbo源码以及自己对Rpc的理解,自己编写的RPC的demo框架,仅用于学习使用,不可投入生产。本人开发经验不足,欢迎大家批评指正。

基本功能:

  1. 支持使用Spring注解配置服务
  2. 支持使用Zookeeper作为注册中心
  3. 支持多注册中心订阅与发布
  4. 支持使用Netty实现网络通信
  5. 支持RoundRobin以及Random负载均衡
  6. 支持负载均衡扩展
  7. 支持异步调用
  8. 支持超时重试
  9. 支持SPI扩展
  10. 支持Protocol扩展
  11. 支持JDK和Javassist动态代理
  12. 支持jdk complier和javassist compiler
  13. 支持Filter扩展
  14. 支持通过RpcContext获取调用信息
  15. 支持AccessLog

todolist:

  1. etcd注册中心、nacos注册中心
  2. http协议
  3. 条件路由
  4. 添加监控
  5. 测试用例增加
  6. 文档编写

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.