Dubbo 高级特性 (3)

其实Dubbo的官方文档非常强大,里面的各种各样的标签都会介绍到,但是最新版的官方文档好像找不那么多详细的使用了。在此,我推荐一篇博客,里面列举的也蛮全面的,可以参考: dubbo配置参考手册_dubbo使用手册_Ithao2的博客-CSDN博客

1. Dubbo 常用功能标签

<dubbo:service/> 服务配置,用于暴露一个服务,定义服务的元信息,一个服务可以用多个协议暴露,一个服务也可以注册到多个注册中心。
<dubbo:reference/> 引用配置,用于创建一个远程服务代理,一个引用可以指向多个注册中心。
<dubbo:protocol/> 协议配置,用于配置提供服务的协议信息,协议由提供方指定,消费方被动接受。
<dubbo:application/> 应用配置,用于配置当前应用信息,不管该应用是提供者还是消费者。

<dubbo:registry/> 注册中心配置,用于配置连接注册中心相关信息。
<dubbo:module/> 模块配置,用于配置当前模块信息,可选。
<dubbo:monitor/> 监控中心配置,用于配置连接监控中心相关信息,可选。
<dubbo:provider/> 提供方的缺省值,当ProtocolConfig和ServiceConfig某属性没有配置时,采用此缺省值,可选。
<dubbo:consumer/> 消费方缺省配置,当ReferenceConfig某属性没有配置时,采用此缺省值,可选。
<dubbo:method/> 方法配置,用于ServiceConfig和ReferenceConfig指定方法级的配置信息。
<dubbo:argument/> 用于指定方法参数配置。
 

XML文件的形式看起来更直观,下面以XML文件的形式阐述Dubbo的高级特性:

2. 启动时检查

     Dubbo启动的时候会检查依赖的服务是否可用,而使用到Dubbo,基本都是分布式、集群环境。如果依赖服务找不到,他会阻止Spring初始化工作的完成,导致服务无法启动。而使用懒加载的Bean,也会抛异常,请关闭检查。默认 check=true.

一般在消费端进行配置。 可用配置到具体的要引用的Bean上,也可以进行全部配置。

3. 超时连接/重连

Dubbo消费端在发送一个请求以后,需要有一个临界值来判断服务是否正常,总不傻傻的一直等着。此时超时是否需要重连就出来了。

4. 集群容错

 当消费端某次调用失败是一些环境因素造成的,比如网络抖动。Dubbo还给予容错补救的机会。(forks=“2” 来设置最大并行数)

failover 当出现失败, 重试其它服务器。 retries=“2” 来设置重试次数(不含第一次)。(幂等性操作使用, 如读操作)

<dubbo:consumer cluster="failover” retries="2" forks="2" />
 

failfast 快速失败, 只发起一次调用, 失败立即报错。(非幂等性操作, 如写操作)

failsafe 出现异常时, 直接忽略。(无关紧要的旁支操作, 如打日志)
 

failback 后台记录失败请求, 定时重发 (后续专业处理)

forking 并行调用多个服务器, 只要一个成功即返回

消费端、服务端、全局、具体的开放接口都可以配置:

 

5. 负载均衡

在集群负载均衡时,dubbo提供了多种策略,默认为random随机调用,可以自行扩展负载均衡策略。

random : 按权重随机选取,根据服务方设置weight值随机选取

roundrobin:轮循

leastactive :最少活跃数(正在处理的数)。慢的机器、收到请求少的机器

消费端、服务端、全局、具体的开放接口都可以配置:

6. 结果缓存

7. 服务分组

 8. 多版本

9. 只订阅\只注册

默认情况下,我们是订阅与注册兼备的,不需要设置。

只订阅:自己的模块代码还没写好,但是依赖的模块已经写好。我们只需订阅即可。是否向此注册中心注册服务,如果设为false,将只订阅,不注册.

只注册: 比如开发环境为了省机器, 没有部署某个服务, 如短信/邮件功能。 但整个
系统又必须要调用它。 此时我们可以借用一下测试环境的此服务(不能影响
测试环境原本的服务闭环) 。 将测试环境的短信/邮件服务也向开发环境注
册一份, 只注册(其依赖的服务必须还是测试环境的)

 10. 异步调用

消费方、服务方、全局、接口、方法都可以设置

11. 事件通知

上面列举的,是我们在使用dubbo的时候出现的最高频的。还有很多,就不一一介绍了,可以查API仔细研究。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然可以,以下是一份关于您的Java SpringBoot项目的简介描述: 探索Java的SpringBoot魔法 亲爱的开发者们,准备好一起踏上这次深入Java的SpringBoot之旅了吗?如果您正在寻找一个现代化、高效且易于扩展的开发框架,那么这个SpringBoot项目将是您的理想选择。 主要特点: 快速开发:SpringBoot通过自动配置和约定大于配置的原则,大大简化了项目设置和开发过程。 易于扩展:SpringBoot与生俱来的灵活性使您可以轻松集成各种服务和数据库,以满足您日益增长的需求。 安全性:内置的安全特性,如OAuth2和Spring Security,确保您的应用程序安全无虞。 微服务支持:SpringBoot是微服务架构的理想选择,可以帮助您构建模块化、可扩展的应用程序。 社区支持:全球的开发者社区意味着您可以在遇到问题时找到大量的资源和支持。 无论您是初出茅庐的Java新手,还是经验丰富的开发者,这个项目都将为您提供一个深入了解SpringBoot的机会。无论您是想学习新的技能,还是想提高现有应用程序的性能,这个项目都将是您的宝贵资源。 内容概览 项目设置和初始化 控制器设计和实现 数据持久化与数据库集成 安全性和身份验证 性能优化和监控 部署和生产环境考虑 现在,是时候让您的Java技能得到充分发挥,并掌握SpringBoot的魔法了!这个项目将带领您从基础到高级,探索SpringBoot的每一个角落。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值