首页 » 网站建设 » php和nacos技巧_Nacos 阿里开源设备中央

php和nacos技巧_Nacos 阿里开源设备中央

访客 2024-12-11 0

扫一扫用手机浏览

文章目录 [+]

配置中央相信大家都有听过,zookeeper、apollo等等都是配置中央的代表,但大部分都是JAVA系为主的,笔者紧张开拓措辞利用的是Golang当然也有类似于ETCD这样的组件,但是并未便利管理也无法可视化,在无意之间创造了阿里爸爸开源了nacos这个做事创造+配置中央组件,也经由了一段韶光的时候在这里分享给大家

附上:

php和nacos技巧_Nacos  阿里开源设备中央

喵了个咪的博客:w-blog.cn

php和nacos技巧_Nacos  阿里开源设备中央
(图片来自网络侵删)

Nacos官方Git地址:https://github.com/alibaba/nacos

Nacos官方文档地址:https://nacos.io/zh-cn/docs/

Go措辞SDK地址:https://github.com/sunmi-OS/gocore/tree/master/nacos

PS:当前官方最新版本为 V1.1.3,阿里云有供应配置中央做事ACM利用办法和Nacos相同,利用阿里云的条件下免运维是个不错的选择

一、Nacos先容

Nacos是阿里云中间件团队开源的一个项目,基于阿里云内部供应的ACM配置管理做事进行独立,截止到现在github已经有8K以上的star了,虽然成熟度还不能和携程开源的apollo相提并论,比较也是在阿里云上供应做事的组件稳定性还是值得相信的,当然要利用先容Nacos必须要先容先容配置中央这样一个思想了。

配置中央是个旧调重弹的话题,从有软件编程开始配置管理都是工程中主要的一步,当然对与一个单体运用只须要单个配置文件或环境变量的办法来管理配置就好了以是不再本文的谈论范围内,配置中央紧张办理做事化或微做事化下的配置管理中的如下问题:

有效的密码管理,开拓不碰触密码配置,运维职员和架构团队统一管理避免透露;多项眼前的配置绝对统一性,不会涌现配置写错导致的BUG对付配置的编辑、存储、分发、变更管理、历史版本管理、变更审计有完善的能力配置分组和灰度发布有好处当然也有坏处,相对付利用配置文件我们还须要办理如下问题:配置中央非常情形下做事怎么保障可用(SDK供应Cache功能当中心做事不可用会利用上一次加载的缓存配置)配置变更后的程序生效逻辑(SDK供应配置变动订阅逻辑可以订阅配置变动编写处理逻辑)开拓过程中的配置文件调试(须要框架进行设计)对付部分措辞来说(PHP)配置中央性能的问题(Nacos的吞吐量8C16G 15K并发)比拟下来还是可以总结出配置中央利大于弊的结论二、Nacos支配

Nacos不止支持二进制支配也支持支持Docker和K8S支配,由于Nacos是有状态做事存储的数据须要依赖于Mysql而且集群的办法须要指定slave的IP以是利用K8S并不是很好的选择(K8S利用StatefulSet来运行有状态做事),笔者这里用Docker-Composer的办法来运行Nacos

Nacos官方Docker支配办法Git地址:https://github.com/nacos-group/nacos-dockergit clone https://github.com/nacos-group/nacos-docker.git单机支配(内存模式):docker-compose -f example/standalone-derby.yaml up单机支配(Mysql模式):docker-compose -f example/standalone-mysql.yaml up集群支配:docker-compose -f example/cluster-hostname.yaml up

访问:http://localhost:8848/nacos/ 就可以看到登录界面了

PS:默认用户名和密码都是 nacos

阿里云ACM做事

当然自己支配Nacos还会面临很多寻衅,比如:

集群搭建稳定性Mysql数据库掩护配置安全保护(Nacos没有密码一说,但是ACM须要利用阿里云的密钥可以提高安全程度)

PS:秉着能用做事就不自己搭建的原则笔者终极利用的是阿里云的ACM做事(当前ACM做事免费)

PS:须要把稳阿里云ACM和Nacos在SDK中的链接办法有不同

三、根本利用

Nacos有几个根本观点,我们只有先理解清楚之后才能更好的结合到业务场景:

namespace 命名空间Group 配置分组DataID 详细的配置名称

一样平常我们利用namespace来区分不同的项目或环境,Group区分配置的差异系比如A业务获取的配置和B团队的有一些细微的差别可以通过Group来区分,末了利用DataId来区分详细的配置项

增加一个namespace

新增一个配置

支持很多种配置格式,也可以利用自定义的格式乃至直接存放代码都行

也有对应的JAVA系的示例代码

四、SDK和OpenApi利用配置

Nacos支持一下措辞的SDK(当然GIT上也有很多非官方的SDK库):

Javagocpppythonnodejs

大家可以在官方文档中查看详细的利用办法

上面已经配置好的配置我们可以利用OpenApi来访问它

curl \"大众http://172.16.0.13:8848/nacos/v1/cs/configs?dataId=test_config&group=DEFAULT_GROUP&tenant=b58ea912-e564-4958-b21f-3098ad15daf9\公众{\公众name\"大众:\"大众sunmi\"大众}

特殊把稳tenant便是须要输入namespace的名称,但是不是原名是如下的名称

差不多基本的利用就到这里了,Nacos的开源版本还能姐姐做事创造干系的问题这些就留给大家探索了,在配置方面已经能够办理大部分问题了,下期笔者会基于Go措辞给出配置中央最佳实践,大家记得关注我哦。

标签:

相关文章