docker配置 nacos_Nacos - 阿里开源配置中心

这里是喵了个咪的后端技术分享,觉得写的不错。点个赞,转发一下,关注一下。本文载于个人原创技术博客http://w-blog.cn,转载请注明出处,非法转载抄袭将追究其责任。

7a9b79fe708f01bd580d0af0c274bac9.png

配置中心相信大家都有听过,zookeeper、apollo等等都是配置中心的代表,但大部分都是JAVA系为主的,笔者主要开发语言使用的是Golang当然也有类似于ETCD这样的组件,但是并不方便管理也无法可视化,在无意之间发现了阿里爸爸开源了nacos这个服务发现+配置中心组件,也经过了一段时间的时候在这里分享给大家

附上:

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

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

8ffb787f9b356b2ec1f04dab94ebef4b.png
835934d307b3f96ab308b395c27fce30.png

阿里云ACM服务

当然自己部署Nacos还会面临很多挑战,比如:

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

PS:秉着能用服务就不自己搭建的原则笔者最终使用的是阿里云的ACM服务(当前ACM服务免费)

d9f87ca7cb5fb59617690d222d278202.png
533e6ede518232d29614b0bc01a32cc6.png

PS:需要注意阿里云ACM和Nacos在SDK中的链接方式有不同

三、基础使用

Nacos有几个基础概念,我们只有先了解清楚之后才能更好的结合到业务场景:

  • namespace 命名空间
  • Group 配置分组
  • DataID 具体的配置名称

一般我们使用namespace来区分不同的项目或环境,Group区分配置的差异系比如A业务获取的配置和B团队的有一些细微的差别可以通过Group来区分,最后使用DataId来区分具体的配置项

9df8775b1157c53f56f9406eb439b449.png

增加一个namespace

9e0eb755b9e5558bcfcb85c43f040e37.png

新增一个配置

ecd4dd935840a66494d650aa8ab4e37d.png

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

e84cfbb513b7102491629e15b83e7d50.png
5ce2a44638b74b3552bb53499f4ddcb8.png

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

a0269853091d9339e2ca313a04cde051.png

四、SDK和OpenApi使用配置

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

  • Java
  • go
  • cpp
  • python
  • nodejs

大家可以在官方文档中查看具体的使用方式

上面已经配置好的配置我们可以使用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的名称,但是不是原名是如下的名称

73775ea1c1973100a6588112ccd38579.png

差不多基本的使用就到这里了,Nacos的开源版本还能姐姐服务发现相关的问题这些就留给大家探索了,在配置方面已经能够解决大部分问题了,下期笔者会基于Go语言给出配置中心最佳实践,大家记得关注我哦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/529058.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jdbc获取mysql第二行表信息_【奇技淫巧】MySQL另类方法获取元数据信息

问:在进行MySQL注入时,我们通常是通过information_schema元数据来获取表名、字段名信息,从而读取相应数据。但是如果waf或其它过滤了information_schema关键字,那么还有什么方法可以读取元数据信息呢?答:从…

vscode使用sass_推荐7 个 极好用的VS Code 插件

你知道将高级开发人员与普通开发人员区分的条件是什么吗?没错,是所使用的工具,俗话说,"工欲善其事必先利其器", 拥有正确的工作工具可以让开发人员的生活变得更加轻松,甚至想写一辈子代码。巧的的…

挖掘城市ip_不断挖掘IP价值,紧抓乐园经济新机遇!

当一个国家的人均GDP达到5,000美元时,其旅游度假经济将进入成熟阶段。按照2018年末人口总数计算,我国人均GDP接近1万美元,近年来,越来越多的主题乐园落户中国。乐园的选址、运营有颇多讲究。对主题乐园而言,依托大中型…

pixel和毫米怎么换算_赶紧收藏!小学阶段所有公式、单位换算、数量关系

小学阶段会接触到很多公式,这些公式都是学习中必须要记忆的,笔者特意总结了小学一到六年级所有的公式、单位换算、数量关系、难题知识。孩子只要掌握了这四大知识重点,考试轻轻松松拿高分!一、数量关系计算公式1、单价数量&#x…

相册权限_手机相册太乱?1分钟教你快速管理自己的照片,非常好用!

喜欢拍照的朋友们是不是有这样一个烦恼,那就是手机里拍了很多照片,当你想找某一张照片时你得在手机里翻半天,费时费力,那么今天我就来给大家解决这个烦恼,手机相册是手机中必不可少的,那当我们手机照片太多…

学校计算机数据采集处理系统,中学化学计算机数据采集处理系统实验室装备

中学化学计算机数据采集处理系统实验室装备配置方案一、基础型配置(31套:教师1套,学生30套(2学生/组,以每班60学生分组)),每套配置标准如下:序号 名称 型号1 数据采集器 SJ-SJCJQ2 南师大分析软件 NJSFDX-V33 电流传感…

dplayer js控制 自动全屏_Qt编写安防视频监控系统18-云台控制

一、前言云台控制是视频监控系统中必备的一个功能,对球机进行上下左右的移动,还有焦距的控制,其实核心就是控制XYZ三个坐标轴,为了开发这个模块,特意研究了各种云台控制的方法和开源库比如soap,有些厂家使用…

css不换行属性_那些不常见,但却非常实用的css属性(整理不易)

1、-webkit-line-clamp可以把 块容器 中的内容限制为指定的行数。并且在超过行数后,在最后一行显示"..."这是正常的展示display: -webkit-box; /*值必须为-webkit-box或者-webkit-inline-box*/ -webkit-box-orient: vertical; /*值必须为vertical*/ -webk…

2020身高体重标准表儿童_男女孩最新身高标准表,你家孩子达标了吗?(附增高秘籍)...

现在大家的生活水平提高了,和很多年前相比,孩子们的平均身高提高了不少,孩子能长成一个高个子,也是很多家长非常关注的事情。其实,要想孩子长高,除了营养要跟上以外,充足的睡眠、体重不要太胖都…

java 正则匹配_正则表达式真的很强大,可惜你不会写

专注于Java领域优质技术,欢迎关注本文旨在用最通俗的语言讲述最枯燥的基本知识文章提纲:元字符重复限定符分组转义条件或区间正则表达式在几乎所有语言中都可以使用,无论是前端的JavaScript、还是后端的Java、c#。他们都提供相应的接口/函数支…

石板切割问题c语言_广场地面铺装 仿古石 青石板 板岩 切割岩 冰裂纹压印混凝土地坪...

广场地面铺装 仿古石 青石板 板岩 切割岩 冰裂纹压印混凝土地坪广场地面铺装 仿古石 青石板 板岩 切割岩 冰裂纹压印混凝土地坪青石板是由青色的沉积岩劈制或者切割而成的板材,是天然板岩的一种,主要成分为石灰石、白云石。其比重约2.2~2.7克/立方厘米&a…

python分析工具有哪些_常用Python数据分析工具汇总

Python是数据处理常用工具,可以处理数量级从几K至几T不等的数据,具有较高的开发效率和可维护性,还具有较强的通用性和跨平台性。Python可用于数据分析,但其单纯依赖Python本身自带的库进行数据分析还是具有一定的局限性的&#xf…

高并发编程_高并发编程系列:全面剖析Java并发编程之AQS的核心实现

在并发编程领域,AQS号称是并发同步组件的基石,很多并发同步组件都是基于AQS实现,所以想掌握好高并发编程,你需要掌握好AQS。本篇主要通过对AQS的实现原理、数据模型、资源共享方式、获取锁的过程,让你对AQS的整体设计有…

计算机考试设计会议邀请函,计算机二级常见考点之使用合并技术制作邀请函

计算机01:37来自LearningYard学苑三月份的计算机二级考试即将到来,不知道各位童鞋准备得怎么样了呢,把握了多少。今天小编就给讲讲计算机二级MS office中常见的考核内容——使用合并技术制作邀请函。The computer second-level exam in March is coming …

添加一列_办公软件操作技巧023:如何给excel数据批量添加单位

在日常工作中,我们使用excel编辑电子表格时,经常需要给数据添加单位,单位是编制excel表格常用的元素,有时我们需要给一列数字都添加上单位,比如长度多少米,金额多少元,货物多少公斤等等&#xf…

html代码大全(很全的)_HTML教学(1):写一个属于自己的网址大全(新手版)

超文本标记语言(Hyper Text Markup Language),缩写为HTML,标准通用标记语言下的一个应用。HTML不是一种编程语言,而是一种标记语言 (markup language)只要你打开浏览器,第一眼看到的…

清华大学计算机系高考生源,清华大学在这个高考大省录取人数创新高,网友:仍然是同分不同命...

在众多高考学子眼中,只有“两个学校”,一个是“清华、北大”,一个是“其他学校”,不仅是高考学子,清华、北大在众多人心目中也是十分神圣的。很多学生家长把考上清华、北大作为子女的唯一追求,认为只有考上…

list的contains方法为什么不好使_道理都懂,为什么我们还打不好网球?

中年人的悲哀在于,懂得很多道理,可依然过不好自己的一生。打网球亦是如此。——题记人到中年,有了一定的社会经验,也懂得了很多道理,可大部分人还是过不好自己的生活。正如打网球一样。盯准球、早点打、降低重心、保持…

html5登录界面源代码_最新版本尤娜博客已更新源代码(速拿!!!)

大家好,我是尤娜博客(una-boot)的作者树下魅狐,自2019年9月una-boot-1.0.0版本开源以来,陆续有热爱技术,钟爱技术写作的小伙伴为尤娜提出了宝贵的改进意见和建议,在此表示衷心的感谢,谢谢大家的支持&#x…

抓包红色_抓包三部曲 WebSocket 协议原理抓包分析

这篇文章通过抓包分析 WebSocket 协议的细节,学习一下 WebSocket 执行流程。1.WebSocket 流程说明(1)客户端和服务器之间完成三次握手建立 TCP 连接(TLS/SSL)握手。(2)客户端发起 HTTP 请求和服务器之间建立 WebSocket 握手。(3)WebSocket 连接建立之后,…