扫码关注公众号:芋道源码

发送: 百事可乐
获取永久解锁本站全部文章的链接

《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 https://www.zhihu.com/question/34101033/answer/743107819 「kimmking」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

老牌的,发展了很多年

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 版本。

讨论

胖友,目前你们公司在使用什么服务框架,可以在留言区回复哟。

文章目录
  1. 1. 老牌的,发展了很多年
    1. 1.1. ICE
    2. 1.2. Finagle
  2. 2. 新兴的
    1. 2.1. Apache Dubbo
    2. 2.2. Spring Cloud
    3. 2.3. Tars
    4. 2.4. Motan
    5. 2.5. BRPC
    6. 2.6. 补充
  3. 3. 讨论