ICE
支持多语言,功能丰富,文档一般,重量级:一个全面的RPC框架,支持C ++,C#,Java,JavaScript,Python等
-
https://zeroc.com/products/ice
Finagle
Finagle是 Twitter 基于 Netty 开发的支持容错的、协议无关的 RPC 框架,该框架支撑了 Twitter 的核心服务。Finagle是JVM的可扩展RPC系统,用于构建高并发服务器。Finagle为多个协议实现统一的客户端和服务器API,旨在实现高性能和并发性。Finagle的大多数代码都是协议无关的,简化了新协议的实现。整个设计跟Dubbo已经比较接近了。
-
https://www.infoq.cn/article/2014/05/twitter-finagle-intro
-
https://twitter.github.io/finagle/
Apache Dubbo
Apache Dubbo |ˈdʌbəʊ| 是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
-
http://dubbo.apache.org/zh-cn/
Spring Cloud
Spring Cloud全家桶大家一般都很熟悉了。它为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁定,领导选举,分布式会话,集群状态),使用Spring Cloud开发人员可以快速站起来实现这些模式的服务和应用程序。它们适用于任何分布式环境。
-
https://spring.io/projects/spring-cloud
Tars
腾讯出品,Tars是一个基于名称服务和Tars协议的高性能RPC框架,也是集成管理平台,并通过灵活的时间表实现托管服务。
-
https://github.com/TarsCloud/Tars
Motan
新浪微博出品,Motan是一套基于java开发的RPC框架,除了常规的点对点调用外,Motan还提供服务治理功能,包括服务节点的自动发现、摘除、高可用和负载均衡等。Motan具有良好的扩展性,主要模块都提供了多种不同的实现,例如支持多种注册中心,支持多种rpc协议等。
-
https://github.com/weibocom/motan/wiki/zh_userguide
BRPC
百度内最常使用的工业级RPC框架, 有1,000,000+个实例(不包含client)和上千种多种服务, 在百度内叫做"baidu-rpc",目前只开源C++版本。
-
https://github.com/apache/incubator-brpc/blob/master/README_cn.md
补充
补充一个 Grpc+etcd,轻量级的 golang 版本
k8s
基于 k8s 实现整体微服务解决方案,其实也有的
vertx
Vert.x诞生于2011年,当时叫node.x,不过后来因为某些原因改名位Vert.x。经过三年多的发展,现在已经到了3.2版本,社区也越来越活跃,在最新的官网Vertx.io上,作者用一句话介绍了它,JVM上的Reative开发套件。Vert.x目前是见过最功能最强大,第三方库依赖最少的Java框架,它只依赖Netty4以及Jacskon,另外如果你需要建立分布式的Vert.x则再依赖HazelCast这个分布式框架,注意Vert.x3必须基于Java8。由于基于JVM,所以Vert.x可以用其他语言来实现你的业务。默认官方维护的语言是Groovy,JavaScript以及 JRuby。vertx据说是响应式的
Vert.x是一个异步无阻塞的网络框架,其参照物是node.js。基本上node.js能干的事情,Vert.x都能干。Vert.x利用Netty4的EventLoop来做单线程的事件循环,所以跑在Vert.x上的业务不能做CPU密集型的运算,这样会导致整个线程被阻塞。
Facebook 的thrift
蚂蚁的sofa
serviceComb
华为的内部叫ces
serviceMesher
唯品会的osp
据说超屌
Pigeon
美团大众点评服务框架Pigeon
dapeng-soa
是一个轻量级,高性能,简洁优雅的微服务框架