前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >motan使用zk

motan使用zk

作者头像
叔牙
发布2020-11-19 14:36:12
4610
发布2020-11-19 14:36:12
举报
文章被收录于专栏:一个执拗的后端搬砖工
代码语言:javascript
复制
motan提供了直连的方式访问服务,
但是存在单点故障问题,接下来介绍
motan使用zk作为注册中心,
来提供服务注册和服务订阅:
(依赖上一篇的项目)
一、环境准备
代码语言:javascript
复制
我们在常用的spring配置文件中加入
motan节点会出现校验错误,就算加入
schema头也是不行的,类似dubbo,
我们需要把motan的xsd加入到
eclipse的xml catalog中:1.在motan-core包中找到
motan.xsd文件,并拷贝内容
存储到指定目录
代码语言:javascript
复制
2.eclipse中打开windows->
preference->xml catalog
代码语言:javascript
复制
新增entires,选择刚刚保存的
motan.xsd,选定key type为
Schema location,key为
http://api.weibo.com/schema/motan.xsd保存
代码语言:javascript
复制
3.选择项目重新校验,错误消失
二、服务端修改配置和启动
代码语言:javascript
复制
需要把服务注册到zk上,需要在
motan-provider.xml中添加zk配置
代码语言:javascript
复制
regProtocol="zookeeper"
表示使用zk作为注册中心,
name="zkRegistry"
表示当前motan注册中心名称,
address="192.168.0.112:2181"
表示zk的地址和端口接着在具体服务暴露添加
registry="zkRegistry",
即将该服务注册到zk**注意**:低版本的motan中
存在bug,启动motan服务的
时候需要添加一行代码
代码语言:javascript
复制
1
代码语言:javascript
复制
MotanSwitcherUtil.setSwitcherValue
(MotanConstants.REGISTRY_HEARTBEAT_SWITCHER, true);
代码语言:javascript
复制
高本版中已经修复该bug
三、客户端配置及改进
代码语言:javascript
复制
既然服务提供方将服务注册到zk,
那么消费方也需要到zk上订阅
motan服务,
需要修改motan-consumer.xml如下:
代码语言:javascript
复制
属性配置和提供方类似,
registry="zkRegistry"
表示到zk订阅服务,而不是通过
url直连motan服务同样,如果是低版本,
也需要在消费方启动
的时候加入一行代码,
代码语言:javascript
复制
这样我们就简单的实现了
motan+zk,使用zk作为
注册中心,这样我们就可以
实现更强大的功能,
新浪微博目前每天motan
提供上亿次的内部调用,
据说性能要强于dubbo。

ps:以上实例在本地跑起来

没有问题,如果能够给

各位看官带来帮助,

是我莫大的荣幸, 感谢支持和拍砖

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-07-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PersistentCoder 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、环境准备
  • 二、服务端修改配置和启动
  • 三、客户端配置及改进
相关产品与服务
微服务引擎 TSE
微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档