Motan源码阅读--工程概述

工程概述

Motan框架采用模块化设计,使用按需加载,模块有:spring

  • 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

经常使用属性:netty

  • Id:标识配置项
  • Group:标识服务分组
  • Module:标识模块信息
  • protocol:标识referer使用的协议
  • registry:标识referer的注册中心
  • basicReferer:标识使用的基本配置

优雅停机

Motan支持consul,zk集群环境下优雅关闭节点,当须要关闭或重启节点时,能够先将待上线节点从集群摘除,避免直接关闭影响正常请求。对象

管理后台

后台包括RPC服务查询,流量切换,Motan指令设置等功能,需使用zk做为注册中心。

相关文章
相关标签/搜索