目录
1.配置
1.1配置的特点
只读
伴随应用的整个生命周期
多种加载方式
配置需要治理
1.2配置中心
2.Nacos简介
2.1特性
服务发现与服务健康检查
动态配置管理
动态DNS服务
服务和元数据管理
3.服务发现
1.配置
应用程序在启动和运行的时候往往需要读取一些配置信息,配置基本上伴随着应用程序的整个生命周期,比如:数据库连接参数、启动参数等。
1.1配置的特点
只读
对于程序员是只读的,程序通过读取配置来改变自己的行为,但是程序不应该去改变配置
伴随应用的整个生命周期
在启动时通过读取配置来初始化,在运行时根据配置调整行为。例如启动时需要读取服务的端口号、系统在运行过程中需要读取定制策略执行定时任务。
多种加载方式
常见的有程序内部的hard code,配置文件,环境变量,启动参数,基于数据库等。
配置需要治理
同一份程序在不同的环境(开发、测试、生产),不同的集群(如不同的数据中心)京城需要有不同的配置,所以需要有完善的环境,集群配置管理。
1.2配置中心
在微服务架构中,当系统从一个单体应用拆分成分布式系统上一个个服务节点后,配置文件必须跟着迁移(分隔),这样配置就分散。
配置中心将配置从各个应用中分离出来,对配置进行统一管理,应用自身不需要自己去配置管理。
2.Nacos简介
阿里的开源产品,针对微服务架构中的服务发现、配置管理、服务治理的总和型解决方案。
官网:https://nocas.io/
2.1特性
四大功能
服务发现与服务健康检查
nacos使服务更容易注册,并通过DNS或HTTP接口发现其他服务,Nacos还提供服务的实时检查,防止向不健康的主机或服务实例发送请求。
动态配置管理
动态配置服务允许您在所有环境中以集中和动态的方式管理所有服务的配置。Nacos消除了在更新配置时重新部署应用程序,这使配置的更改更加高效和灵活。
自动定义扩展的Data Id配置 ,内部配置优先级最高,配置优先级:扩展的Data Id中 n 越大优先级越大。bootstrap.yml的加载顺序优先于application.yml。
完全关闭配置:通过设置spring.cloud.nacos.config.enable=false来完全关闭Spring Cloud Nacos Config。
nacos可以集群部署。
@Value注解是Spring框架提供的注解,用于获取配置文件中的值,可以用于获取任意配置文件(如application.properties、application.yml)中的配置项。使用@Value注解时,需要指定配置项的完整路径,例如:@Value("${config.key}")。
nacos启动命令(Windows):startup.cmd -m standalone
打开浏览器输入 http://localhost:8848/nacos,即可访问服务, 默认账号密码是nacos、nacos
动态DNS服务
Nacos提供基于DNS 协议的服务发现能力,旨在支持异构语言的服务发现,支持将注册在Nacos上的服务以域名的方式暴露端点,,让三方应用方便的查阅及发现。
服务和元数据管理
Nacos能让您从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略。
3.服务发现
微服务架构中,整个系统会按职责能力划分为多个服务,通过服务之间协作来实现业务目标。这样在我们的代码中就需要进行服务间的远程调用,服务的消费方要调用服务的生产方,为了完成一次请求,消费方需要知道服务生产方的网络位置(IP地址和端口号)。
·