工程概述
Motan框架采用模块化设计,使用按需加载,模块有:
- motan-core:motan核心框架
- motan-transport-netty:基于Netty协议的长链接传输协议
- motan-registry-consul:consul服务发现组件
- motan-registry-zookeeper:zk服务发现组件
- motan-springsupport:spring标签解析相关组件
默认配置
protocol协议默认为motan,基于hessian2实现。
负载均衡默认为activeWeight,低并发度优先,refer的某个时刻call的数量越小优先级越高。
容错策略默认为failover,失败自动切换,当出现失败,重试其他服务器。 Failfast快速失败,只发起一次调用,失败立即报错。
配置服务端工作线程数。 配置客户端为每个服务建立的连接数。
注册中心motan:registry
包含以下属性:
- Name:标识配置名称;
- regProtocol:标识注册中心协议
- Address:标识注册中心地址
服务提供方motan:service
常用属性:
- Interface:标识服务的接口类名
- Ref:标识服务的实现类,引用具体的spring业务实现对象
- Export:标识服务的暴露方式,格式为“protocolId:port”,其中protocolId:应对motan:protocol中的id
- Group:标识服务的分组
- Module:标识模块信息
- basicService:标识使用基本配置
Motan在注册中心的服务以group形式保存的,一般推荐一个分组以机房+业务线进行命名,如rf-user-rpc。
调用方motan:referer
常用属性:
- Id:标识配置项
- Group:标识服务分组
- Module:标识模块信息
- protocol:标识referer使用的协议
- registry:标识referer的注册中心
- basicReferer:标识使用的基本配置
优雅停机
Motan支持consul,zk集群环境下优雅关闭节点,当需要关闭或重启节点时,可以先将待上线节点从集群摘除,避免直接关闭影响正常请求。
管理后台
后台包括RPC服务查询,流量切换,Motan指令设置等功能,需使用zk作为注册中心。
来源:oschina
链接:https://my.oschina.net/u/1000241/blog/1933466