dubbo privider与consumer同时配置retry以哪个为主
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dubbo privider与consumer同时配置retry以哪个为主相关的知识,希望对你有一定的参考价值。
DUBBO的介绍部分我这里就不介绍了,大家可参考官方文档。DUBBO的注册中心安装
DUBBO的注册中心支持好几种,公司用到zookeeper注册中心,所以我这边只说明zookeeper注册中心如何安装。
安装zookeeper注册中心首先得下载zookeeper。大家可到zookeeper的官网http://zookeeper.apache.org/releases.html上去下载。
我下载了zookeeper-3.4.5.tar.gz版本的包。接下来把zookeeper-3.4.5.tar.gz解压到文件夹D:\\zookeeper-3.4.5\\中,
然后将zoo_sample.cfg改名为zoo.cfg。然后将配置文件zoo.cfg改成如下:
[html] view plain copy
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=D:\\\\zookeeper-3.4.5\\\\data
dataLogDir=D:\\\\zookeeper-3.4.5\\\\log
# the port at which the clients will connect
clientPort=2181
然后就可以启动了。
DUBBO的管理平台DUBBO-ADMIN的部署
dubbo-admin.war可在网上百度去下载,但是我下载了好几个war包,发布上去服务启动都报错,这个时候大概是我们系统的JDK和编译
dubbo-admin.war的JDK版本不同导致的了。所以我之后直接下载了dubbo-master的源代码,然后自己编译了一个war包,这样就不会存
在启动报错的问题了。
以上就是我下载下来的导入eclipse的源码。
dubbo的所有源码可在https://github.com/alibaba/dubbo上下载。用MAVEN在最外层目录编译即可将所有项目全部编译。
下载编译的时候会出现问题,首先是找不到opensesame的情况,这个好解决。去这个地址https://github.com/alibaba/opensesame
将pom文件下载下来,然后用MAVEN命令下载依赖包到本地仓库就好了。然后就可以顺利编译DUBBO MASTER项目了。
编译好之后在dubbo-admin项目中会出现dubbo-admin.war包
将dubbo-admin.war导入到TOMCAT中,然后启动TOMCAT,然后输入localhost:8080然后输入账号密码(默认都是root)
就可以访问到dubbo控制中心了。注意得将WEB-INF中的dubbo.properties中的配置项改成这样
(配置的地址端口必须和zookeeper的服务的地址端口一致)
[html] view plain copy
dubbo.registry.address=zookeeper://127.0.0.1:2181
DUBBO的管理平台DUBBO
MONITOR的部署
dubbo
monitor部署非常简单,之前把dubbo-master全编译了,所以在编译好的dubbo-monitor-simple项目中就
能拿到dubbo-monitor-simple-2.5.4-SNAPSHOT-assembly.tar.gz包
然后解压到文件夹中,打开配置文件,将配置文件中的端口修改为未占用的端口
[html] view plain copy
dubbo.protocol.port=6066
dubbo.jetty.port=6060
我随便改成了6066和6060,这个随自己改,只要其它服务没占用就行,然后双击start.bat启动服务,
浏览器输入localhost:6060就能访问了,访问到的内容如下:
DUBBO的provider和consumer
provider和consumer的案例网上应该有很多了,如果在工作中,项目中有DUBBO肯定也会知道provider和consumer如何布置,
我这里就不多说了。我这边主要是讲我们在项目中不会碰到的一些东西,比如zookeeper,dubbo-admin,dubbo-monitor如何布置,
因为我们开发者往往接触不到如何布置。 参考技术A dubbo配置优先级:
方法级>接口级>全局级
消费方配置优先于提供方配置
所以,retry如果都配了,以消费方为主。
dubbo配置的覆盖关系
dubbo推荐在Provider上尽量多配置Consumer端属性:
-
- 由服务提供方设置超时,因为一个方法需要执行多长时间,服务提供方更清楚,如果一个消费方同时引用多个服务,就不需要关心每个服务的参数设置;
- 在Provider配置后,Consumer不配置则会使用Provider的配置值,即Provider配置可以作为Consumer的缺省值;否则,Consumer会使用Consumer端的全局设置,这对于Provider不可控的,并且往往是不合理的;
配置的覆盖规则:
1.方法级配置别优于接口级别,即小Scope优先;
2.Consumer端配置 优于 Provider配置 优于全局配置;
3.最后是dubbo的配置的缺省值;
参考:http://dubbo.apache.org/zh-cn/docs/user/configuration/xml.html
以上是关于dubbo privider与consumer同时配置retry以哪个为主的主要内容,如果未能解决你的问题,请参考以下文章
dubbo的服务consumer与provider使用的api版本不一致,是否有影响