All Projects → Jackarain → tinyrpc

Jackarain / tinyrpc

Licence: BSL-1.0 license
Much fast, lightweight, async, based boost.beast and protobuf.

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to tinyrpc

Framework
Swoole, PSR-15, PSR-7, PSR-11 lightweight modular anti-framework for REST micro-services.
Stars: ✭ 259 (+709.38%)
Mutual labels:  fast, lightweight
Domvm
DOM ViewModel - A thin, fast, dependency-free vdom view layer
Stars: ✭ 581 (+1715.63%)
Mutual labels:  fast, lightweight
Light 4j
A fast, lightweight and more productive microservices framework
Stars: ✭ 3,303 (+10221.88%)
Mutual labels:  fast, lightweight
sabotage
a radical and experimental distribution based on musl libc and busybox
Stars: ✭ 502 (+1468.75%)
Mutual labels:  fast, lightweight
Crepe
The thin API stack.
Stars: ✭ 120 (+275%)
Mutual labels:  fast, lightweight
brisk-ioc
fast light brisk ioc/di container on nodejs; Node下快速 轻量的IoC/DI容器,依赖注入,配合装饰器使用
Stars: ✭ 12 (-62.5%)
Mutual labels:  fast, lightweight
Wondercms
WonderCMS - fast and small flat file CMS (5 files)
Stars: ✭ 330 (+931.25%)
Mutual labels:  fast, lightweight
ios-application
A native, lightweight and secure one-time-password (OTP) client built for iOS; Raivo OTP!
Stars: ✭ 581 (+1715.63%)
Mutual labels:  fast, lightweight
React Select Me
Fast 🐆. Lightweight 🐜. Configurable 🐙. Easy to use 🦄. Give it a shot 👉🏼
Stars: ✭ 119 (+271.88%)
Mutual labels:  fast, lightweight
Utox
µTox the lightest and fluffiest Tox client
Stars: ✭ 820 (+2462.5%)
Mutual labels:  fast, lightweight
clifm
The shell-like, command line terminal file manager: simple, fast, extensible, and lightweight as hell
Stars: ✭ 825 (+2478.13%)
Mutual labels:  fast, lightweight
Wolff
🐺 Lightweight and easy to use framework for building web apps.
Stars: ✭ 203 (+534.38%)
Mutual labels:  fast, lightweight
AutoMagic
A magically fast, lightweight and customizable javascript library.
Stars: ✭ 16 (-50%)
Mutual labels:  fast, lightweight
Metrics
Lightweight alternative to github.com/prometheus/client_golang
Stars: ✭ 254 (+693.75%)
Mutual labels:  fast, lightweight
jobflow
runs stuff in parallel (like GNU parallel, but much faster and memory-efficient)
Stars: ✭ 67 (+109.38%)
Mutual labels:  fast, lightweight
Autocomplete.js
Simple autocomplete pure vanilla Javascript library.
Stars: ✭ 3,428 (+10612.5%)
Mutual labels:  fast, lightweight
Nano
Lightweight, facility, high performance golang based game server framework
Stars: ✭ 1,888 (+5800%)
Mutual labels:  lightweight, protobuf
brute-md5
Advanced, Light Weight & Extremely Fast MD5 Cracker/Decoder/Decryptor written in Python 3
Stars: ✭ 16 (-50%)
Mutual labels:  fast, lightweight
Maquette
Pure and simple virtual DOM library
Stars: ✭ 729 (+2178.13%)
Mutual labels:  fast, lightweight
Fero
light, fast, scalable, streaming microservices made easy
Stars: ✭ 175 (+446.88%)
Mutual labels:  fast, lightweight

c++ rpc 基于boost.beast、jsonrpc/protobuf的异步rpc实现.

Build Status

介绍

使用boost.beast为websocket底层使用, 数据协议使用json/protobuf,实现纯异步的rpc调用.

动机

在参考了各种c++实现的rpc库之后,都有这样或那样的'缺点',然而那些缺点恰恰是我本人非常在乎的,比如ZeroC Ice,不仅体型十分庞大,使用它需要掌握复杂的IDL语言,再比如gRPC,使用的接口并非十分直观,它被设计成一套框架而不是工具库,项目的应用需要掌握它发明的各种概念,然而这此概念往往是与它底层实现有关,如果不是经验十分丰富,恐怕一时难以理解并掌握,其它的细节不在些多叙了。 鉴于此,我想要的是一个拥有简单接口,像调用本地函数一样,并支持异步,不需要编写IDL,于是有了此项目。

使用

依赖boost protobuf。 这个库本身实现只有几个.hpp头文件实现,和一个做为协议底层封装的proto(protobuf作为rpc协议时使用, jsonrpc不需要),包含rpc_websocket_service.hpp和rpc_service_ptl.proto生成的.pb.h/.pb.cc。

快速上手

用法参考example,你可以编译运行并调试它们,以了解它的实现原理。

tinyrpc 的 nodejs 实现 https://github.com/avplayer/js-tinyrpc

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].