dubbo配置文件解读(1)
详细的Dubbo配置也可以参考:https://blog.csdn.net/abcde474524573/article/details/53026110
(1)<dubbo:service/> 用于服务提供方暴露服务位置
例子:

1.interface: 服务实现的接口名称
2.ref : 指向真正的服务实现类,已经在spring中定义了
3.version: 服务的版本
4.delay: 表示延迟注册时间,也就是什么时候暴露服务,-1表示spring容器初始化完成时暴露服务(所以通常为-1)
5.timeout: 远程服务调用超时时间(毫秒),默认为1000
6.connections: 对每个提供者的最大连接数,rmi\http\hessian等短连接协议表示限制连接数,dubbo等长连接协议表示建立的长连接个数
7.loadbalance : 负载均衡策略,也就是说同一个服务有多个提供者时,客户端如何选择提供者
1)random: 随机分配,并且可以给提供者设置权重
2)roundrobin: 轮询,也就是一个个轮流来调用.但是存在慢的提供者累积请求问题,比如:第二台机器很慢,但是没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上
3)leastactive: 最少活跃调用,也就是越慢的提供者获得更少请求
4)consistenthash: 一致性hash,也就是如果参数相同就会发送到同一台机器上, 如果某一台挂掉了,原本发往该提供者的请求会平摊到其他提供者,不会引起剧烈变动
缺省只对第一个参数hash,如果要修改,可以配置

8.retries: 服务调用重试次数,不包括第一次,所以不需要重试设置为0,默认为2
9.cluster 集群方式
1)failover: 调用失败会重试其他服务器,所以通常用于读操作,但重试会带来更长延迟
2)failfast: 快速失败,只发起一次调用,如果失败就立即报错,通常用在新增\更新操作
3)failback: 失败自动恢复,后台记录失败请求,定时重发,通常用于消息通知操作
4)failsafe: 也就是出现异常也没事,比如写入审计日志等操作
5)broadcast: 广播所有服务提供者,挨个调用,只要有一台报错就报错,通常用来通知所有提供者更新缓存或日志等本地资源信息
6)forking: 并行调用多个服务器,只要一个成功就返回,通常用于实时性要求较高的读操作,但会浪费更多服务资源
10.executes: 服务提供者每个方法最大可并行执行请求数
(2)<dubbo:reference/> 用于消费者引用服务的配置
例子:

1.id: 服务饮用beanId
2.interface : 服务接口名
3.version: 服务版本,需要与服务提供者的版本一致
4.protocol: 只调用指定协议的服务提供方
5.url : 点对点直连服务提供者地址,将绕过注册中心
(3)<dubbo:protocol/> 服务提供者的协议配置.
如果需要支持多种协议,可以声明多个<dubbo:rpotocol>标签,并在<dubbo:service>中protocol属性指定使用的协议
1.id : 协议的beanId,可以在<dubbo:service protocol="">中引用此ID,如果ID不填,缺省和name属性值一样,重复则在name后加序号
2.name: 协议名称
3.port: 服务端口,dubbo协议默认为20800,http、hessian默认为80,rmi默认为1099. 如果配置为-1或没配,则会自动分配一个没被占用的端口
4.server: 协议的服务器实现类型,dubbo协议有mina、netty,默认为netty,http有jetty、servlet,默认为servlet
5.accesslog: 设置为true则会向logger中输出访问日志;也可以填写日志文件路径,直接把访问日志输出到指定文件
6.threadpool : 线程池类型,可选fixed/cached
7.threads: 服务线程池大小
8.dispatcher: 协议的消息派发方式,用于指定线程模型,如dubbo协议的all,direct等
(4)<dubbo:registry/> 注册中心配置,服务的提供者、消费者都有此配置
如果有多个不同的注册中心,可以声明多个<dubbo:registry>标签,并在<dubbo:service>或<dubbo:reference>的registry属性指定使用的注册中心。
1.address
注册中心服务器地址,如果地址没有端口缺省为9090,同一集群内的多个地址用逗号分隔,如ip:port,ip:port,不同集群的注册中心则配置多个<dubbo:registry>
(5)<dubbo:provider/> 服务提供者缺省值配置。
为<dubbo:service>和<dubbo:protocol>标签的缺省值设置
也就是说provider中有些设置是各个service公用的,又与默认值不一样,就可以使用这个标签
那么标签中属性也就和<dubbo:service>和<dubbo:protocol>完全一样
如:

也就是说所有service默认的timeout=180000
dubbo配置文件解读(1)的更多相关文章
- dubbo配置文件解读(2)
<dubbo:service/> <dubbo:reference/> <dubbo:protocol/> <dubbo:registry/> < ...
- 【比赛打分展示双屏管理系统-专业版】Other.ini 配置文件解读以及排行榜界面及专家评语提交展示等具体配置
第一个问题:Other.ini配置文件的解读: 在软件根目录下,找到Other.ini配置文件,打开如下: 配置文件解读: iOrderIDOrXSID:默认为0,按照软件 选项/排行榜和奖项 的设置 ...
- dubbo配置文件的加载顺序详解(图示)
Dubbo配置文件的加载顺序 在使用apache dubbo.version2.7.3 时,配置文件的加载情况.以provider提供服务者为例. 配置文件 ,以下四个配置文件. 其优先级 app ...
- Nginx 小入门记录 之 Nginx 配置文件解读(二)
上一小节主要是记录一些环境准备和Nginx的安装,接下来对Nginx基本配置进行记录. 查看配置文件安装记录 可以通过以下Linux命令进行查看: rpm -ql nginx rpm 是liunx的包 ...
- 从零开始Pytorch-YOLOv3【笔记】(一)配置文件解读
前言 这是github上的一个项目YOLO_v3_tutorial_from_scratch,它还有相应的blog对其详细的解读.机器之心翻译了他的tutorial:从零开始PyTorch项目:YOL ...
- dubbo配置文件xml校验报错
配置dubbo服务xml后,程序能正常执行,但validate会出现一些异常: Multiple annotations found at this line: - cvc-complex-type. ...
- dubbo配置文件报错解决思路
导入dubbo项目到Eclipse,配置文件报了如下异常: Multiple annotations found at this line: - cvc-complex-type.2.4.c: The ...
- net core体系-web应用程序-4net core2.0大白话带你入门-3asp.net core项目架构和配置文件解读
asp.net core web项目目录解读 Connected Services 和传统.net web项目相比,它的功能类似于添加webservice或者wcf service的引用.暂时用不 ...
- redis 的使用 及 配置文件解读
redis-server命令 redis-server /usr/local/redis/conf/redis.conf #加配置文件绝对路径启动redis服务 redis-server /usr/l ...
随机推荐
- element-ui-——el-uploadexcel导入
布局文件:(选择文件放在了弹框内部——即点击导入按钮后弹框显示,先下载模板再选择文件点击提交按钮才上传) )) { this.$notify({ message: '数据导入成功', type: 's ...
- linux scull 代码read 方法
read 的返回值由调用的应用程序解释: 如果这个值等于传递给 read 系统调用的 count 参数, 请求的字节数已经被传送. 这是最好的情况. 如果是正数, 但是小于 count, 只有部分数据 ...
- ZOJ 1276 "Optimal Array Multiplication Sequence"(最优矩阵链乘问题+区间DP)
传送门 •题意 矩阵 A(n×m) 和矩阵 B(m×k) 相乘,共做 n×m×k 次乘法运算: 给你 n 个矩阵,求这 n 个矩阵的最优结合方式,使得做的总乘法运算次数最少: •题解 定义dp(i,j ...
- Linux 内核 设备结构嵌入
设备结构包含设备模型核心需要的来模型化系统的信息. 大部分子系统, 但是, 跟踪关于 它们驻留的设备的额外信息. 结果, 对设备很少由空设备结构所代表; 相反, 这个结构, 如同 kobject 结构 ...
- Android一般什么情况下会导致内存泄漏
资料参考:https://blog.csdn.net/u011479990/article/details/78480091 内存泄漏的原因在于生命周期长的对象持有了生命周期短的对象的引用 内存泄漏形 ...
- tjoi2019题解
t1:矩阵快速幂 t2:裸的平衡树 splay比treap代码长太多 常数大一倍 没加输优直接t了 还要特判n=1(我的splay删除的时候会遇到问题) t3: 很显然是容斥 然后对于$A+B+C+D ...
- apk混淆打包和反编译(转)
前面有人写过了,我就直接引用了,大家就不乱找了.以后有问题再继续更新. 一.混淆打包.编译 1.Android 代码混淆.http://blog.csdn.net/zjclugger/article/ ...
- 多线程之美7一ReentrantReadWriteLock源码分析
目录 前言 在多线程环境下,为了保证线程安全, 我们通常会对共享资源加锁操作,我们常用Synchronized关键字或者ReentrantLock 来实现,这两者加锁方式都是排他锁,即同一时刻最多允许 ...
- spring之为什么要使用AOP(面向切片编程)?
需求1-日志:在程序执行期间追踪正在发生的活动: 需求2-验证:希望计算器只处理正数的运算: 一.普通方法实现 Calculator.java package com.gong.spring.aop. ...
- ruby 输出彩色内容到控制台
程序输出控制台时,为了区分输出信息的严重程度,可以使用颜色.符号等来做标识. ruby 也支持设置输出内容的颜色,比如运行以下代码: 以下内容是百度到的,因发现很多博客都是同样的写法,所以出处反而没法 ...