Giter Club home page Giter Club logo

rpc's Introduction

分布式 RPC 框架

前言

    该项目为本人在公司实习学习RPC框架写的简单实现,供大家参考学习。
    参考自:https://gitee.com/huangyong/rpc

项目介绍

    RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,
而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI
网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。
    为了提高并发,使用NIO,这里使用Netty。Netty 是一个基于NIO的客户、服务器端编程框架,屏蔽了java底层的NIO
细节。
    使用Spring实现依赖注入。
    使用Protostuff实现序列化,比jdk原生序列化更高效。
        参考:http://www.protostuff.io/
    使用Zookeeper搭建集群,实现服务的发现与注册功能。

组织结构

rpc
├── rpc-common -- RPC框架公共模块,提供序列化与反序列化,编码与解码功能
├── rpc-registry --实现服务的发现与注册
├── rpc-client -- 通过动态代理封装实现代理类的请求,发送给服务端,接收服务端相应
├── rpc-server -- 接收客户端请求,处理请求,发送响应
├── rpc-sample-client --
└── rpc-sample-server --

实现细节

rpc's People

Contributors

zhouxinghang avatar

Watchers

James Cloos avatar

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.