| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> Spring Cloud Alibaba之nacos -> 正文阅读 |
|
[Java知识库]Spring Cloud Alibaba之nacos |
SpringCloud Alibaba 简介简介Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用 微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布 式应用服务。 依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用 接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。 源码地址?
为什么使用?
版本选择?由于Spring Boot 1和Spring Boot 2在Actuator模块的接口和注解有很大的变更,且spring-cloud-commons从1.x.x版本升级到2.0.0版本也有较大的变更,因此我们采取跟SpringBoot版本号一致的版本: ?1.5.x版本适用于Spring Boot 1.5.x ?2.0.x版本适用于Spring Boot 2.0.x ?2.1.x版本适用于Spring Boot 2.1.x SpringCloud Alibaba-Nacos[作为注册中心]Nacos是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。他是使用java编写。需要依赖java环境 Nacos文档地址:
下载nacos-server?
启动nacos-server?
将微服务注册到nacos中?1、首先,修改pom.xml文件,引入Nacos Discovery Starter。
2、在应用的/src/main/resources/application.properties配置文件中配置Nacos Server地址?
3、使用@EnableDiscoveryClient开启服务注册发现功能?
4、启动应用,观察 nacos 服务列表是否已经注册上服务?
5、注册更多的服务上去,测试使用 feign 远程调用?
?6、更多配置
?SpringCloud Alibaba-Nacos[作为配置中心]1、pom.xml 引入 Nacos Config Starter。
?2、在应用的 /src/main/resources/bootstrap.properties 配 置文件中配置 Nacos Config 元数据
3、在 nacos 中添加配置? 在 nacos 中创建一个 应用名.properties 配置文件并编写配置
?在应用中使用@Value 和@RefreshScope完成上述两步后,应用会从 Nacos Config 中获取相应的配置,并添加在 Spring Environment 的 PropertySources 中 。 这 里 我 们 使 用 @Value 注 解 来 将 对 应 的 配 置 注 入 到 SampleController 的 userName 和 age 字段,并添加 @RefreshScope 打开动态刷新功能
进阶?核心概念命名空间: ????????用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的 配置。Namespace 的常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生 产环境的资源(如配置、服务)隔离等。 配置集: ????????一组相关或者不相关的配置项的集合称为配置集。在系统中,一个配置文件通常就是一个配 置集,包含了系统各个方面的配置。例如,一个配置集可能包含了数据源、线程池、日志级别等配置项。 配置集 ID: ????????Nacos 中的某个配置集的 ID。配置集 ID 是组织划分配置的维度之一。Data ID 通常用于组 织划分系统的配置集。一个系统或者应用可以包含多个配置集,每个配置集都可以被一个有 意义的名称标识。Data ID 通常采用类 Java 包(如 com.taobao.tc.refund.log.level)的命名 规则保证全局唯一性。此命名规则非强制。 配置分组: ????????Nacos 中的一组配置集,是组织配置的维度之一。通过一个有意义的字符串(如 Buy 或Trade )对配置集进行分组,从而区分 Data ID 相同的配置集。当您在 Nacos 上创建一个 配置时,如果未填写配置分组的名称,则配置分组的名称默认采用 DEFAULT_GROUP 。配置 分组的常见场景:不同的应用或组件使用了相同的配置类型,如 database_url 配置和MQ_topic 配置 原理?自动注入: ????????NacosConfigStarter 实现了 ????????org.springframework.cloud.bootstrap.config.PropertySourceLocator接口,并将优先级设置成了最高。 在 Spring Cloud 应用启动阶段,会主动从 Nacos Server 端获取对应的数据,并将获取到的 数据转换成 PropertySource 且注入到 Environment 的 PropertySources 属性中,所以使用@Value 注解也能直接获取 Nacos Server 端配置的内容。 动态刷新: ????????Nacos Config Starter 默认为所有获取数据成功的 Nacos 的配置项添加了监听功能,在监听 ????????到服务端配置发生变化时会实时触发org.springframework.cloud.context.refresh.ContextRefresher 的 refresh 方法 。 如果需要对 Bean 进行动态刷新,请参照 Spring 和 Spring Cloud 规范。推荐给类添加@RefreshScope 或 @ConfigurationProperties 注解, 加载多配置文件
namespace 与 group 最佳实践?
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年3日历 | -2025/3/10 17:11:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |