Dubbo3.x-13-功能之生态
2016年9月25日大约 2 分钟
回顾
大家好,我是老马。
最近 dubbo3.x 在公司内部分享,于是想系统梳理一下。
总体思路是官方文档入门+一些场景的问题思考+源码解析学习。
微服务生态
Dubbo 社区和众多优秀的开源项目一起围绕 Dubbo 建立了丰富的微服务生态支持,这让开发者从选型 Dubbo 作为开发框架的第一天,就无需担心后续的服务治理诉求,Dubbo 对每一个常见问题均提供了生产级的解决方案。
以下表格为基于最新 Dubbo Java 3.2.x 版本统计的生态组件支持情况,后续将根据开发进展持续更新。同时每个语言支持的组件完善度会有一定差异,具体请参见各个 语言参考手册 内的详细说明
功能 | 组件列表 | 组件列表 | 组件列表 | 组件列表 | 组件列表 |
---|---|---|---|---|---|
服务发现 | Zookeeper | Nacos | Kubernetes Service | DNS【开发中】 | 更多 |
动态配置 | Zookeeper | Nacos | Apollo | Kubernetes【开发中】 | 更多 |
元数据管理 | Zookeeper | Nacos | Redis | Kubernetes【开发中】 | 更多 |
RPC 协议 | HTTP/2 (Triple) | TCP | HTTP/REST【Alpha】 | gRPC | 更多 |
可视化观测平台 | Admin | Grafana | Prometheus | - | - |
全链路追踪 | Zipkin | Skywalking | OpenTelemetry | - | - |
限流降级 | Sentinel | Resilience4j | Hystrix | - | - |
分布式事务 | Seata | - | - | - | - |
网关 | Higress | APISIX | Shenyu | Envoy | - |
服务网格 | Istio【开发中】 | Aeraka | OpenSergo【开发中】 | Proxyless【Alpha】 | 更多 |
进阶
控制服务调用行为
服务版本
服务分组
分组聚合
异步调用
异步执行
流式通信
响应式编程
泛化调用
泛化实现
调用链路传递隐式参数
RPC调用上下文
调用触发事件通知
服务端对客户端进行回调
只订阅
只注册
运行时动态指定 IP 调用
直连提供者
启动时检查
本地调用
参数校验
本地伪装
本地存根
回声测试
调用信息记录
延迟暴露
集群容错
服务降级
诊断与调优
端口协议复用
线程池隔离
多协议
多注册中心
请求耗时采样
线程模型
服务引用配置对象缓存
路由状态采集
负载均衡
注册信息简化
调用结果缓存
并发控制
连接控制
延迟连接
粘滞连接
支持 Graal VM
导出线程堆栈
Kryo 和 FST 序列化
自定义服务容器
优雅停机
主机地址自定义暴露
一致性哈希选址
日志框架适配及运行时管理
Kubernetes 生命周期探针
参考资料
贡献者
binbin.hou