带你读《Apache Dubbo微服务开发从入门到精通》——七、元数据中心(6)

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
云原生网关 MSE Higress,422元/月
性能测试 PTS,5000VUM额度
简介: 带你读《Apache Dubbo微服务开发从入门到精通》——七、元数据中心(6)

《Apache Dubbo微服务开发从入门到精通》——服务治理与生态——七、元数据中心(5) https://developer.aliyun.com/article/1223680



3) 高级配置

 

完整配置参数请参考metadata-report-config。

 

4) 工作原理

 

a) 服务运维元数据

 

在Nacos的控制台上可看到服务提供者、消费者注册的服务运维相关的元数据信息:

 

image.png

 

在Nacos中,本身就存在配置中心这个概念,正好用于元数据存储。在配置中心的场景下,存在命名空间- namespace的概念,在namespace之下,还存在group概念。即通过namespace和group以及dataId去定位一个配置项,在不指定namespace的情况下,默认使用public作为默认的命名空间。

 

image.png

 

当version或者group不存在时依然保留

 

image.png

Providers接口元数据详情通过report-definition=true控制此部分数据是否需要上报):


image.png

 

 

Consumers接口元信息详情(通过report-consumer-definition=true控制是否上报,默认false):


image.png

 

 

b) 地址发现-接口-应用映射

 

在上面提到,service name和application name可能是一对多的,在nacos中,使用单个key-value进行保存,多个application name通过英文逗号隔开。由于是单个key-value去保存数据,在多客户端的情况下可能会存在并发覆盖的问题。因此,我们使用nacos中publishConfigCas的能力去解决该问题。

 

在nacos中,使用publishConfigCas会让用户传递一个参数casMd5,该值的含义是之前配置内容的md5值。不同客户端在更新之前,先去查一次nacos的content的值,计算出md5值,当作本地凭证。在更新时,把凭证md5传到服务端比对md5值如果不一致说明在次期间被其他客户端修改过,重新获取凭证再进行重试CAS。目前如果重试6次都失败的话,放弃本次更新映射行为。

 

Nacos api

 

image.png

 

映射信息位于namespacepublicdataId: {service name}group: mapping.

 

image.png

 

c) 地址发现-接口配置元数据

 

要开启远程接口配置元数据注册,需在应用中增加以下配置,因为默认情况下Dubbo3应用级服务发现会启用服务自省模式,并不会注册数据到元数据中心。

image.png

 

或者,在自省模式模式下仍开启中心化元数据注册

image.png

 

Nacos server中的元数据信息详情如下:


image.png

相关文章
|
29天前
|
存储 分布式计算 物联网
Apache IoTDB进行IoT相关开发实践
当今社会,物联网技术的发展带来了许多繁琐的挑战,尤其是在数据库管理系统领域,比如实时整合海量数据、处理流中的事件以及处理数据的安全性。例如,应用于智能城市的基于物联网的交通传感器可以实时生成大量的交通数据。据估计,未来5年,物联网设备的数量将达数万亿。物联网产生大量的数据,包括流数据、时间序列数据、RFID数据、传感数据等。要有效地管理这些数据,就需要使用数据库。数据库在充分处理物联网数据方面扮演着非常重要的角色。因此,适当的数据库与适当的平台同等重要。由于物联网在世界上不同的环境中运行,选择合适的数据库变得非常重要。 原创文字,IoTDB 社区可进行使用与传播 一、什么是IoTDB 我
99 9
Apache IoTDB进行IoT相关开发实践
|
30天前
|
Java 持续交付 项目管理
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。它采用项目对象模型(POM)来描述项目,简化构建流程。Maven提供依赖管理、标准构建生命周期、插件扩展等功能,支持多模块项目及版本控制。在Java Web开发中,Maven能够自动生成项目结构、管理依赖、自动化构建流程并运行多种插件任务,如代码质量检查和单元测试。遵循Maven的最佳实践,结合持续集成工具,可以显著提升开发效率和项目质量。
38 1
|
1月前
|
开发框架 Dubbo 应用服务中间件
微服务开发框架-----Apache Dubbo
这篇文章介绍了Apache Dubbo微服务开发框架,它提供RPC通信和微服务治理能力,支持服务发现、负载均衡和流量治理等功能,并强调了Dubbo在微服务规模化实践和企业级治理方面的优势。
微服务开发框架-----Apache Dubbo
|
18天前
|
Apache 开发者 Java
Apache Wicket揭秘:如何巧妙利用模型与表单机制,实现Web应用高效开发?
【8月更文挑战第31天】本文深入探讨了Apache Wicket的模型与表单处理机制。Wicket作为一个组件化的Java Web框架,提供了多种模型实现,如CompoundPropertyModel等,充当组件与数据间的桥梁。文章通过示例介绍了模型创建及使用方法,并详细讲解了表单组件、提交处理及验证机制,帮助开发者更好地理解如何利用Wicket构建高效、易维护的Web应用程序。
13 0
|
1月前
|
Prometheus 监控 Java
微服务架构下的服务治理策略:打破服务混乱的惊天秘籍,开启系统稳定的神奇之门!
【8月更文挑战第7天】微服务架构将应用细分为可独立部署的小服务,提升灵活性与可扩展性。但服务增多带来治理挑战。通过服务注册与发现(如Eureka)、容错机制(如Hystrix)、监控工具(如Prometheus+Grafana)、集中配置管理(如Spring Cloud Config)和服务网关(如Zuul),可有效解决这些挑战,确保系统的高可用性和性能。合理运用这些技术和策略,能充分发挥微服务优势,构建高效应用系统。
47 1
|
1月前
|
存储 监控 负载均衡
微服务架构中的服务治理与监控技术
【8月更文挑战第3天】微服务架构中的服务治理与监控是确保系统稳定、高效运行的重要手段。通过构建注册中心实现服务的自动注册和发现,通过部署监控工具实现对服务的全面监控,可以有效地提高系统的可靠性和可用性。未来,随着技术的不断发展,服务治理与监控技术也将不断完善和优化,为微服务架构的广泛应用提供更加坚实的支撑。
|
2月前
|
运维 Prometheus 监控
微服务架构下的服务治理实践
【7月更文挑战第27天】在微服务架构的浪潮中,服务治理作为确保系统稳定性和高可用性的关键手段,其重要性日益凸显。本文将探讨微服务架构下服务治理的核心要素,包括服务发现、配置管理、流量控制等,并结合实例分析如何有效实施服务治理策略,以提升系统的弹性、监控能力和安全性。通过本文,读者将获得一套实用的服务治理框架,以及面对复杂服务交互时保持清晰治理视野的方法。
|
2月前
|
存储 分布式计算 物联网
Apache IoTDB进行IoT相关开发实践
IoTDB是专为物联网(IoT)设计的开源时间序列数据库,提供数据收集、存储、管理和分析。它支持高效的数据写入、查询,适用于处理大规模物联网数据,包括流数据、时间序列等。IoTDB采用轻量级架构,可与Hadoop和Spark集成,支持多种存储策略,确保数据安全和高可用性。此外,它还具有InfluxDB协议适配器,允许无缝迁移和兼容InfluxDB的API和查询语法,简化物联网项目的数据管理。随着物联网设备数量的快速增长,选择适合的数据库如IoTDB对于数据管理和分析至关重要。
176 12
|
2月前
|
存储 分布式计算 物联网
Apache IoTDB进行IoT相关开发实践
The article introduces IoTDB, an open-source time-series database designed for efficient management of IoT-generated data. It addresses challenges like real-time integration of massive datasets and security. IoTDB supports high-performance storage,
103 0
Apache IoTDB进行IoT相关开发实践
|
2月前
|
Prometheus 监控 负载均衡
微服务之服务治理
简单来说,服务治理就是对微服务架构中的服务进行管理、监控和控制的一系列技术和方法。它确保服务之间的调用、依赖和协作能够顺利进行,从而保障整个系统的稳定、可靠和高效。
39 0

推荐镜像

更多