All Projects → joyrpc → Joyrpc

joyrpc / Joyrpc

Licence: apache-2.0
high-performance, high-extensibility Java rpc framework.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Joyrpc

Brpc Java
Java implementation for Baidu RPC, multi-protocol & high performance RPC.
Stars: ✭ 647 (+123.1%)
Mutual labels:  microservice, grpc, rpc, dubbo, high-performance
Rpcx
Best microservices framework in Go, like alibaba Dubbo, but with more features, Scale easily. Try it. Test it. If you feel it's better, use it! 𝐉𝐚𝐯𝐚有𝐝𝐮𝐛𝐛𝐨, 𝐆𝐨𝐥𝐚𝐧𝐠有𝐫𝐩𝐜𝐱!
Stars: ✭ 6,516 (+2146.9%)
Mutual labels:  microservice, grpc, rpc, dubbo
Tesla
Tesla is a gateway service that provides dynamic routing,waf,support spring cloud,gRPC,DUBBO and more.
Stars: ✭ 161 (-44.48%)
Mutual labels:  grpc, dubbo, high-performance
Hyperf
🚀 A coroutine framework that focuses on hyperspeed and flexibility. Building microservice or middleware with ease.
Stars: ✭ 4,206 (+1350.34%)
Mutual labels:  microservice, grpc, json-rpc
Getty
a netty like asynchronous network I/O library based on tcp/udp/websocket; a bidirectional RPC framework based on JSON/Protobuf; a microservice framework based on zookeeper/etcd
Stars: ✭ 532 (+83.45%)
Mutual labels:  microservice, rpc, json-rpc
Javaspringbootsamples
SpringBoot、Dubbo、SpringCloud的各种集成例子:Atomikos、gRPC、Thrift、Seata、ShardingSphere、Dubbo、Hmily、Nacos、Consul、Ribbon、Jedis、Lettuce、Redisson等框架
Stars: ✭ 399 (+37.59%)
Mutual labels:  grpc, rpc, dubbo
Rpc Benchmark
java rpc benchmark, 灵感源自 https://www.techempower.com/benchmarks/
Stars: ✭ 463 (+59.66%)
Mutual labels:  grpc, rpc, dubbo
Dapeng Soa
A lightweight, high performance micro-service framework
Stars: ✭ 101 (-65.17%)
Mutual labels:  microservice, rpc, high-performance
Jupiter
Jupiter是一款性能非常不错的, 轻量级的分布式服务框架
Stars: ✭ 1,372 (+373.1%)
Mutual labels:  microservice, rpc, high-performance
Rpcx Java
rpcx implementation in Java for server side and client side
Stars: ✭ 71 (-75.52%)
Mutual labels:  microservice, rpc, dubbo
Rsf
已作为 Hasor 的子项目,迁移到:http://git.oschina.net/zycgit/hasor
Stars: ✭ 77 (-73.45%)
Mutual labels:  rpc, dubbo, high-performance
Go Micro Boilerplate
The boilerplate of the GoLang application with a clear microservices architecture.
Stars: ✭ 147 (-49.31%)
Mutual labels:  microservice, grpc, rpc
Xxl Rpc
A high performance, distributed RPC framework.(分布式服务框架XXL-RPC)
Stars: ✭ 493 (+70%)
Mutual labels:  rpc, distributed, high-performance
Rpc Framework Tutorials
Java分布式RPC服务框架教程,包括 Dubbo/Dubbox, Motan, gRPC.
Stars: ✭ 114 (-60.69%)
Mutual labels:  grpc, rpc, dubbo
Remit
RabbitMQ-backed microservices supporting RPC, pubsub, automatic service discovery and scaling with no code changes.
Stars: ✭ 24 (-91.72%)
Mutual labels:  microservice, rpc, distributed
Dubbo Go Pixiu
Based on the proxy gateway service of dubbo-go, it solves the problem that the external protocol calls the internal Dubbo cluster. At present, it supports HTTP and gRPC[developing].
Stars: ✭ 124 (-57.24%)
Mutual labels:  microservice, grpc, dubbo
Activej
ActiveJ is an alternative Java platform built from the ground up. ActiveJ redefines web, high load, and cloud programming in Java, featuring ultimate performance and scalability!
Stars: ✭ 183 (-36.9%)
Mutual labels:  microservice, rpc, high-performance
silky
The Silky framework is designed to help developers quickly build a microservice development framework through simple code and configuration under the .net platform.
Stars: ✭ 146 (-49.66%)
Mutual labels:  microservice, rpc
kubernetes-go-grpc
Microservices using Go, gRPC and Kubernates
Stars: ✭ 35 (-87.93%)
Mutual labels:  microservice, grpc
cocoyaxi
A go-style coroutine library in C++11 and more.
Stars: ✭ 2,392 (+724.83%)
Mutual labels:  high-performance, rpc

JOYRPC

GitHub release GitHub

JOYRPC是一款基于 Java 实现的 RPC 服务框架,是在总结内部服务框架经验的基础上,完全重新设计、支持全异步、微内核和插件化。

JOYRPC Architecture

主要特性

  • 微内核: 全插件化的RPC框架,我们只是补充了默认实现,所有的核心模块都支持用户自定义。
  • 纯异步: 接口完全支持CompletableFuture类型返回值,Provider端业务逻辑可以异步执行,提升服务端吞吐量与调用端吞吐量,Filter调用链全异步化。
  • 协商机制: 在连接建立成功后,Consumer和Provider进行协商逻辑,确认协议版本、序列化可用列表、压缩算法列表,保障同协议中,多版本的编解码、序列化、压缩等插件实现的兼容性。
  • 多注册中心: Provider端支持多注册中心同时注册,注册中心插件化,默认提供memory注册中心实现,zk、etcd注册中心实现,使用方可自行扩展。
  • 插件化多协议: 提供协议插件,默认提供joyrpc协议、http协议、grpc协议(支持与原生grpc相互调用,不用修改java接口,就可以支持grpc调用,(暂不支持grpc的流式调用),使用方可自行扩展。
  • 优雅上下线: Provider发布,将启动与注册逻辑完全分开,先启动,后注册,同时支持接口预热,做到优雅上线。Provider下线,会给Consumer端发送下线通知,后续不会接收到请求,并在处理剩余请求之后关闭端口,做到优雅下线,Consumer端无感知。
  • 插件化编解码、序列化、压缩: 解码、序列化、压缩算法全部插件化可扩展,同时使用方可自定义序列化, joyrpc协商机制可保证兼容性。默认hessian协议序列化,兼容性更好。 提供了性能更高的protostuff协议序列化,但对接口设计有要求。
  • 预热权重: Provider端支持接口预热,通过自主实现并配置预热插件,Provider启动时,触发预热插件,调用预热逻辑。Consumer端支持预热权重,通过配置,在新Provder节点启动时,权重逐渐增大,流量也会逐渐增大,保证Consumer端的服务调用可用率
  • 增强重试: 更加合理的重试逻辑,做到安全重试,支持重试节点筛选插件,支持业务分组重试。更准确的超时时间,统一的超时时间,每次重试后超时时间递减。
  • 自适应负载均衡: Consumer可配置自适应负载均衡,根据Provider节点的TP指标、异常数进行自适应负载控制,保证Provider服务节点与Consumer端的服务调用可用率的稳定性。
  • 序列化安全:默认采用白名单方式,增强序列化安全
  • 分布式事务:集成了Seata分布式事务插件
  • 云原生:支持以应用的服务名称来进行注册,而不是以接口注册服务

快速开始

查看快速开始

配置参考手册

查看配置参考手册

使用示例

查看使用示例

常见问题

查看常见问题

发布历史

查看发布历史

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