Motan源码阅读--工程概述

﹥>﹥吖頭↗ 提交于 2019-12-04 05:47:04

工程概述

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作为注册中心。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!