余姚市网站建设,建站哪家好就要用兴田德润,python网站开发实践,大学网站设计前言
Nacos是一个用于微服务架构下的服务发现和配置管理以及服务管理的综合解决方案#xff08;官网介绍#xff09;#xff0c;这里的服务发现其实就是注册中心#xff0c;配置管理就是配置中心#xff0c;而服务管理是二者的综合#xff1b;
Nacos特性
1.服务发现与…前言
Nacos是一个用于微服务架构下的服务发现和配置管理以及服务管理的综合解决方案官网介绍这里的服务发现其实就是注册中心配置管理就是配置中心而服务管理是二者的综合
Nacos特性
1.服务发现与服务健康检查
基于Http接口或DNS发现其他服务并提供健康检测服务以防止向不健康的主机或服务实例发送请求
2.动态配置管理
允许在所有环境中以集中和动态的方式管理所有的服务配置使得配置和更改更加高效
3.动态DNS服务
基于DNS协议为了支持更多语言
4.服务和元数据管理
能够从微服务平台视角管理服务
配置管理
对于一个分布式架构的项目由于服务的拆分也造成了配置文件分散而使用Nacos作为配置中心可以对程序中的一些配置文件进行统一管理程序只需要将配置文件发布到配置中心Nacos可以自动地进行管理后续服务在运行时就可以通过网络协议从配置中心中获取配置。
nacos配置中心启动
setp1:直接双击startup.cmd运行 step1:也可以通过命令行方式启动
#切换目录
cd nacos/bin
#命令启动
startup.cmd -m standalone
step2:在浏览器地址栏中输入 http://localhost:8848/nacos即可访问nacos登录页面用户名密码均为nacos 向Nacos配置中心添加一个配置
step1发布配置 点击发布后该配置文件就新增好了 step2获取配置内容
1.在java工程中添加坐标 2.编写代码
public static void main(String[] args) throws NacosException {//使用nacos Client 远程获取nacos上的服务//1.data idString dataId nacos-simple-demo.yaml;//2.groupString group DEFAULT_GROUP;//3.nacos服务的地址 (ip 端口)String serverAddr127.0.0.1:8848;Properties properties new Properties();properties.put(serverAddr,serverAddr);//获取nacos服务上的配置ConfigService configService NacosFactory.createConfigService(properties);String config configService.getConfig(dataId, group, 5000);System.out.println(config);
}
运行结果 Nacos配置管理模型
对于Nacos配置管理可以通过Namespace、group、Data Id来确认到一个具体的配置集 配置集Data Id
在系统中一个配置文件通常就是一个配置集一个配置集可以包含系统的各种配置信息例如数据源、日志、线程池等等。这些配置集的Id即DataId。
配置项
配置集中的一个个配置内容就是配置项它代表一个具体可配置的参数与其值通常以key value 的形式存在.
配置分组group
是指对配置集进行分组通过一个有意义的字符串Buy或Trade来表示不同的配置分组下都可以有相同的配置集。如果在创建配置时没有填写配置分组的名称则使用默认分组。
命名空间Namespace
命名空间用于隔离不同的配置环境例如生产环境测试环境和开发环境这是因为不同的环境可能会有不同的配置或是不同的用户。但是不同的命名空间中可以存在相同名称的配置分组。
到这里其实产生了一个问题刚刚我们在获取nacos上的服务时是没有设置Namespace的也就是默认public.那如果我对Namespace进行设置改成了dev这个时候怎么获取到dev环境下的配置文件呢。
这个时候我们只需要在刚才的java代码中再增加一个属性namespace值可以从nacos中获取到下图所示然后将namespace属性存放到properties中即可。 总结
关于Nacos的基础配置知识就聊到这里啦后续还会发怎么应用到分布式系统中加油(ง •_•)ง