阿里云微服务(二) 分布式服务配置中心以及Nacos的使用场景及实现介绍

如果说注册中心是用来在微服务中进行寻址,帮助一个服务调用另一个服务,那么服务配置的作用就是可以更方便的修改各个服务的配置,举个例子,如果我们使用配置文件进行配置信息,如果要修改某一个配置项的话,我们就需要重新打包,发布,但是如果使用配置中心的话,则只需要修改即可

关于为神马要使用配置中心,我觉得主要有以下几个原因:
1.分离的多环境配置
2.更灵活的管理权限
3.更高的安全性

关于1.分离的多环境配置
在同样的情况下可能需要不同的配置环境
如下,我们在配置中心nacos中添加一个配置信息
在这里插入图片描述
在这里插入图片描述
在服务中进行测试看能否读取配置信息
在这里插入图片描述
可以从下图看到读取配置信息成功
在这里插入图片描述
刚才的配置信息是在properties中配置的,那如果将配置文件改为yaml会怎么办呢?
在这里插入图片描述
在这里插入图片描述
可以看到读取了yaml文件的信息在这里插入图片描述
这之后可以从Nacos中及时观察到两个配置文件,可以更加方便的对文件进行管理
在这里插入图片描述
关于配置信息的话常见的情况下同一份代码可能会在不同的场景上在profile和namespace上有不同的配置
profile是在不同的profile下可以有同样的配置项但是有不同的值
如下在环境中将profile更改为develop
在这里插入图片描述
使用应用名称+profile的命名来进行创建
在这里插入图片描述
关于namespace的不同
新建一个namespace training
在这里插入图片描述
在这里插入图片描述

记录下他的namespace id
在这里插入图片描述
添加到配置中
在这里插入图片描述
可以看到读取namespace的配置信息成功成功在这里插入图片描述
关于Nacos
Nacos主要有服务注册和发现,健康检查以及访问策略三个功能
在这里插入图片描述
下图是nacos和zookeeper以及Eureka的对比
在这里插入图片描述
可以看到Nacos可以自由的选择一致性协议,关于一致性协议如何选择的问题,可以理解为
如果单次写请求的成败很重要,则应该保证cp的一致性,因为cp的一致性牺牲了服务整体的可用性来换取数据的一致性
如果单次请求的成败不是很重要,而是可以通过后续数据补偿机制来保持数据一致性,则应该保证ap的一致性

除此之外,Nacos在访问策略上也有自己的优势
服务端的访问策略更灵活,因为不需要客户端的修改以及使用过程中可以更灵活的调整
在这里插入图片描述
在数据服务模型中,服务和集群可以存储不同的服务配置来进行服务的管理,像一些具体信息比如ip和端口可以交给实例进行管理即可
Nacos的实现中主要分为下面几个模块
在这里插入图片描述
用户接口模块中定义了初步的权限校验,参数校验以及数据的转换
推送模块管理所有的订阅端,以及推送的触发,聚合以及去重等工作
健康检查模块支持服务端探测和客户端上报
访问策略通过不同的访问策略对服务端进行过滤,目前支持的访问策略有基于标签的访问策略
在这里插入图片描述
进行数据的存储以及server之间的同步来保证数据的一致性

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会说话的皮卡丘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值