Code Monkey home page Code Monkey logo

mprpc's Introduction

这个项目是一个基于C++语言开发的分布式网络通信框架,利用CMake构建编译环境,主要在Linux平台上运行。该框架的核心目标是将原本基于单体架构的系统,通过RPC(远程过程调用)机制,转变为具备分布式微服务架构的形式。

项目的特点包括:

RPC远程方法调用: 通过该框架,可以将原本单体架构中的本地方法调用重构为基于TCP网络通信的RPC远程方法调用。这使得不同进程甚至不同机器间的服务调用成为可能。

分布式微服务架构: 项目的设计目标之一是将单体架构系统拆分为基于分布式微服务调用的部署。通过多份部署高并发性能要求的微服务,整体并发性能得以提升。同时,也实现了模块服务的独立升级和服务间解耦。

高性能网络通信: 项目的网络层基于高并发的Reactor网络模型,使用muduo开源网络库来实现。这种架构优势在于将网络IO层和RPC方法调用处理层进行有效解耦,同时保持良好的并发性能。

数据序列化与跨平台调用: 框架使用protobuf库实现RPC方法调用的数据序列化和反序列化。这使得无论是在同构还是异构系统中,都能够轻松进行调用。

服务注册与发现: 微服务的核心特性之一是服务的注册与发现。这个项目利用ZooKeeper实现了服务的注册与发现功能,通过与ZooKeeper服务器进行通信,实现了微服务的管理与控制。

通过这个项目,你可以更便捷地将现有的单体架构系统转化为高性能、可扩展性强的分布式微服务架构,充分发挥现代分布式系统的优势。

mprpc's People

Contributors

dukai1255 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.