2025.3.3微服务架构(Dubbo)

news/2025/3/6 21:39:49/文章来源:https://www.cnblogs.com/yangsongduo/p/18747087

Dubbo配置方式
1.注解: 基于注解可以快速的将程序配置,无需多余的配置信息,包含提供者和消费者。弊端是根据配置信息无法快速定位。

  1. XML:和Spring做结合,相关的Service和Reference均使用Spring集成后的。通过这样的方式可以很方便的通过几个文件进行管理整个集群配置。可以快速定位也可以快速更改。

3.基于代码方式: 基于代码方式的对上述配置进行配置。

dubbo:application配置
代表当前应用的信息

  1. name: 当前应用程序的名称,在dubbo-admin中我们也可以看到,这个代表这个应用名称。我们在真正时是时也会根据这个参数来进行聚合应用请求。

  2. owner: 当前应用程序的负责人,可以通过这个负责人找到其相关的应用列表,用于快速定位到责任人。

  3. qosEnable : 是否启动QoS 默认true

  4. qosPort : 启动QoS绑定的端口 默认22222

  5. qosAcceptForeignIp: 是否允许远程访问 默认是false

注解方式![]

(https://img2024.cnblogs.com/blog/3476084/202503/3476084-20250306213740404-629533682.png)
dubbo:registry配置
代表该模块所使用的注册中心

  1. id : 当前服务中provider或者consumer中存在多个注册中心时,则使用需要增加该配置。在一 些公司,会通过业务线的不同选择不同的注册中心,所以一般都会配置该值。

  2. address : 当前注册中心的访问地址。

  3. protocol : 当前注册中心所使用的协议是什么。也可以直接在 address 中写入,比如使用 zookeeper,就可以写成 zookeeper://xx.xx.xx.xx:2181

  4. timeout : 当与注册中心不再同一个机房时,大多会把该参数延长。

dubbo:protocol配置
指定服务在进行数据传输所使用的协议

  1. id : 在大公司,可能因为各个部门技术栈不同,所以可能会选择使用不同的协议进行交互。这里 在多个协议使用时,需要指定。

  2. name : 指定协议名称。默认使用 dubbo 。

dubbo:service配置
指定当前需要对外暴露的服务信息

  1. interface : 指定当前需要进行对外暴露的接口是什么。

  2. ref : 具体实现对象的引用,一般我们在生产级别都是使用Spring去进行Bean托管的,所以这里面 一般也指的是Spring中的BeanId。

  3. version : 对外暴露的版本号。不同的版本号,消费者在消费的时候只会根据固定的版本号进行消 费。

dubbo:reference配置
消费者的配置

  1. id : 指定该Bean在注册到Spring中的id。

  2. interface: 服务接口名

  3. version : 指定当前服务版本,与服务提供者的版本一致。

  4. registry : 指定所具体使用的注册中心地址。这里面也就是使用上面在dubbo:registry中所声明的id。

dubbo:consumer设置

  1. mock: 用于在方法调用出现错误时,当做服务降级来统一对外返回结果,后面我们也会对这个方 法做更多的介绍。

  2. timeout: 用于指定当前方法或者接口中所有方法的超时时间。我们一般都会根据提供者的时长来 具体规定。比如我们在进行第三方服务依赖时可能会对接口的时长做放宽,防止第三方服务不稳定 导致服务受损。

  3. check: 用于在启动时,检查生产者是否有该服务。我们一般都会将这个值设置为false,不让其进 行检查。因为如果出现模块之间循环引用的话,那么则可能会出现相互依赖,都进行check的话, 那么这两个服务永远也启动不起来。

  4. retries: 用于指定当前服务在执行时出现错误或者超时时的重试机制,重试次数。

  5. 注意提供者是否有幂等,否则可能出现数据一致性问题

  6. 注意提供者是否有类似缓存机制,如出现大面积错误时,可能因为不停重试导致雪崩

  7. executes: 用于在提供者做配置,来确保最大的并行度,熔断处理。

  8. 可能导致集群功能无法充分利用或者堵塞

  9. 但是也可以启动部分对应用的保护功能

  10. 可以不做配置,结合后面的熔断限流使用

dubbo:method配置
XML中独有,指定具体方法级别在进行RPC操作时候的配置。

  1. name : 指定方法名称,用于对这个方法名称的RPC调用进行特殊配置。

  2. async: 是否异步 默认false

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/894832.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据集蒸馏论文阅读

Dataset Distillation 18年的论文,最早提出数据蒸馏的概念 理论 通常的梯度下降是小批量的 SGD,每次都需要从训练数据中选一个 minibatch 来更新。这篇文章的重点是学习到一个合成数据 \(\hat x=\{\hat x_i\}_{i=1}^M\) 和学习率 \(\hat \eta\),这样我们就可以固定梯度下降的…

数据蒸馏论文阅读

Dataset Distillation 18年的论文,最早提出数据蒸馏的概念 理论 通常的梯度下降是小批量的 SGD,每次都需要从训练数据中选一个 minibatch 来更新。这篇文章的重点是学习到一个合成数据 \(\hat x=\{\hat x_i\}_{i=1}^M\) 和学习率 \(\hat \eta\),这样我们就可以固定梯度下降的…

激活函数汇总

激活函数 激活函数是用来加入非线性因素的,因为线性模型的表达能力不够。 Sigmoid (1) 公式:\(S(x)=\frac{1}{1+e^{-x}}\) (2) 函数图:(3) 缺点: ① 输出值落在(0,1)之间,期望均值为0.5,不符合均值为0的理想状态 ② 该函数存在一正一负两块“死区”(死区:梯度计算为0,…

深入探究C语言内存分配系列函数

深入探究C语言内存分配系列函数 目录深入探究C语言内存分配系列函数内存是什么?内存分配的三种方式为什么要学习动态分配的系列函数?四大内存分配函数前置知识malloc与freemallocfreerealloccallocDeepseek的总结 当我们完成一个程序设计时,需要对其背后的底层原理学习 操作…

第一课 引言与词向量

对于文字的意义,语言学家有很多种定义。其中一种定义运用在自然语言处理中非常有用,这种意义的定义见下分布式语义就是看上下文词来决定单词的意义。于是我们可以利用词向量来衡量两个词之间的相似程度,词的意义被分散在词向量的每一维中 词嵌入之所以叫词嵌入,是因为我们给…

2025.03.06 CW 模拟赛 A. 岛屿

题面 & 题解 A. 岛屿 概率期望会不了一点. 思路 假设我们最开始有 \(a\) 个「蓝蓝 / 红红」链, \(b\)​ 个「蓝红」链. 我们考虑对于每一个「蓝红」链向外连边. 如图, 我们将红点向外连向一条「蓝蓝」链, 由于每一个点只能最多向外连一条边, 那么它们就「合成」了一条蓝蓝链…

日报202535

今天总算是把项目组的事情解决了,于是正式开了Springboot+vue的学习,用了一晚上的时间配置好了环境(更新了JDK与Maven,重新设置了idea的设置) 然后了解了springboot的配置文件和基本使用,跑出了第一个spring的网页。这看着真有意思吧感觉比jsp方便不少。

Java SPI机制使用

1. Service Provider Interface SPI描述接口提供者优先规定接口要求,然后交由具体的实现者对接口进行内容的实现;2. 实现 //1. 定义接口 public Interface Demo_interface{//具体实现者必须要实现的内容void doexcute(); } //2.实现接口 public class Demo_Impl implements D…

互联网寒冬下,如何写好一份.NET求职简历?附带简洁免费的简历模板!!!

前言 在当今互联网行业的寒冬时期,每一位求职者都面临着更为激烈的竞争环境,如何在众多.NET候选人中脱颖而出,成为企业心仪的对象,用心准备一份简历显得尤为重要。简历不仅是个人职业经历的简要概述,更是向潜在雇主、HR展示你专业技能、项目经验、个人特质以及求职诚意的关…

注册github

今天成功注册了github账户,并上传了一个小项目。

HarmonyOS Next 属性动画和转场动画

HarmonyOS Next 属性动画和转场动画 在鸿蒙应用开发中,动画是提升用户体验的关键要素。通过巧妙运用动画,我们能让应用界面更加生动、交互更加流畅,从而吸引用户的注意力并增强其使用粘性。鸿蒙系统为开发者提供了丰富且强大的动画开发能力,其中属性动画是整个动画体系的核…