motan小结
来源:互联网 发布:数据库子查询语句 编辑:程序博客网 时间:2024/06/05 20:22
https://github.com/weibocom/motan/wiki/zh_userguide#register
java spi机制
一.motan协议
Motan默认的rpc协议为Motan协议,,使用tcp长连接模式,基于netty通信。
<motan:protocol ... name="motan"/>
1.负载均衡
负载均衡在Client端生效
ActiveWeight(默认)低并发优先
Random随机
RoundRobin轮询
LocalFirst本地服务优先获取策略
Consistent 一致性Hash
ConfigurableWeight权重可配置的负载均衡策略
2.容错策略
高可用集群容错策略在Client端生效,因此需在Client端添加配置
<motan:protocol ... haStrategy="failover"/>
Failover 失效切换(默认) 失败自动切换,当出现失败,重试其它服务器。
Failfast快速失败 快速失败,只发起一次调用,失败立即报错。
3.连接控制
(1)限制服务端连接池的线程数
<motan:protocol id="demoMotan" name="motan" maxWorkerThread="800" minWorkerThread="20"/>
(2)限制客户端对每个服务建立的连接数
<motan:protocol name="motan" maxClientConnection="10" minClientConnection="2"/>
4.本地调用
二.motan注册
使用Consul作为注册中心 ,使用Zookeeper作为注册中心
<motan:registry regProtocol="consul" name="my_consul" address="consul_port:port"/>
三.motan服务提供方
<motan:service .../>
export:标识服务暴露的方式 应该与motan:protocol中的id一致
group:标识服务的分组
module:标识模块的信息
basicService:标识使用的基本配置,引用motan:basicService对象
<motan:basicService .../>基础配置
export:标识服务暴露的方式 应该与motan:protocol中的id一致 ...服务的暴露方式
group:标识服务的分组
module:标识模块信息
registry:标识service使用的注册中心,与motan:registry 中的name对应
protocol、basic service、extConfig、service中定义相同属性时,优先级为service > extConfig > basic service > protocol
<motan:method/>
需要定义在motan:referer内,用于控制某个函数的行为
四.motan服务调用方
<motan:referer .../>
group:标识服务的分组
module:标识模块信息
protocol:标识referer使用的协议,与motan:protocol中的name对应,默认为Motan协议 ...
registry:标识referer使用的注册中心,与motan:registry中的name对应
basicReferer:标识使用的基本配置,引用motan:basicReferer对象
motan-go扩展点https://github.com/weibocom/motan-go/wiki/zh_userguide#simple%E5%BA%8F%E5%88%97%E5%8C%96
主要扩展点:
Registry: 不同注册中心扩展。目前支持zookeeper和direct,后续会支持其他注册中心,例如consul等
Filter: filter是在请求处理中对reques和response进行处理的机制,提供endpointFilter和clusterFilter两个插入点。使用filter进行功能扩展是推荐的扩展方式。默认提供accesslog、metric等filter。
HaStrategy: 高可用策略扩展点,默认提供failover。后续将提供backup request等策略
LoadBalance: 负载均衡策略扩展点。默认实现random、roundrobin。同时给出了支持跨group权重处理的warper实现类,方便不同LB策略支持按权重跨group负载均衡
EndPoint: endpoint为调用远程server的扩展点,可以理解为点对点直连场景下的client。默认提供motan协议实现与grpc实现。
Provider: 具体rpc服务的实现类扩展,可以是调用本地代码实现,也可以是跨进程实现。默认提供本地服务实现调用与CGI跨进程调用。
Server: 不同类型的server实现,一般与协议绑定。默认提供MotanServer实现。
MessageHandler: 针对默认Server实现MotanServer的不同类型消息处理扩展。
Serialization: 可以进行不同类型序列化实现扩展。默认支持simple序列化。
阅读全文
0 0
- motan小结
- Motan
- motan使用
- 浅谈motan
- motan学习笔记 二 motan架构分析
- motan学习笔记 三 motan Demo 分析
- 微博RPC框架Motan
- motan与zookeeper框架
- spring boot motan 整合
- Motan 调用执行流程
- motan学习笔记 一 微博轻量级RPC框架Motan
- motan学习笔记 四 motan Demo 之yar 分析
- 微博开源框架Motan初体验
- 使用motan+Zookeeper构建RPC服务
- 搭建新浪RPC框架motan Demo
- 微博轻量级RPC框架Motan
- motan学习笔记 五 opentracing学习入门
- 微博RPC框架motan入门笔记
- Spring AOP 实现原理
- matlab绘制抛物线轨迹
- Django html 加载图片
- 项目
- docker swarm model模式下的每个容器夸主机互通
- motan小结
- Android图表库MPAndroidChart(十四)——在ListView种使用相同的图表
- Python+OpenCV+pytesseract 识别 银行卡号
- 利用mk-table-checksum监测Mysql主从数据一致性操作记录
- LeetCode--Letter Combinations of a Phone Number(Python)
- onActivityResult立即执行分析
- 关于android 多文件分享的问题
- 文章标题
- Spark 堆外内存