前言
前面的几个小节,我们简单的整合了一下spring boot和dubbo2.7,并将dubbo2.7的服务治理控制台Dubbo Admin UI 使用了Docker部署,基本完成了dubbo的基本使用,后续应该会有《Netty系列》和《RPC系列》的具体系列课程来介绍RPC相关的一些知识点,今天我们继续前行,在这个nacos整合的过程中,我们也会顺便把spring boot2.x的核心组件梳理一遍,然后才能懂得nacos的原理,和其与spring boot相整合的交互原理,本小节大概会有15个小节左右,目的是彻底掌握Nacos的使用和一些技巧,和nacos框架的架构原理
一.什么是Nacos
官网(https://nacos.io/zh-cn/index.html)对其介绍
一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
可以总结一下它的功能大概分为如下几点
- 服务发现和服务管理,简而言之,就是它可以和zookeeper,etcd一样做服务治理平台,它可以做dubbo的注册中心,提供数据一致性的保证
- 分布式配置中心,能够集中化管理不同环境,不同机器的不同配置,配置修改后可以实时推送匹配的对应实例,与携程的apollo项目一样,白话而言,就是我们以前在spring项目中,会有各式各样的properties,然后使用@Value注解或者在xml中使用"${key}"这样的方式来获取properties中key对应的value值,现在把properties配置文件,放在云端,放在nacos的server端,spring项目启动的时候,可以去拉取到对应的配置
- 提供对docker和kubernetes的支持,符合现在开发的大趋势,提供对云端的支持
- 有管理控制台,有我们喜闻乐见的UI支持
二.搭建Nacos的Server端
整个Nacos的使用,还是比较经典的CS架构模式的,如下图所示
所以我们想要运行我们的服务,必须先把nacos搭建好,搭建nacos并不复杂,因为nacos天生支持云平台,我们可以使用docker一键部署nacos server端
2.1 找一个已经搭建过docker的机器,我们用之前阿里云ECS服务器部署的docker来部署nacos的服务端,使用单机部署的方式,因为我们以后会在一段很长的时间,都需要nacos服务的支持
下载nacos server端的源代码
git clone https://github.com/nacos-group/nacos-docker.git
使用docker compose命令来运行单机的nacos服务端
因为我们是使用阿里云部署的,nacos服务端的默认http访问端口是8848,所以我们需要配置一下安全组
之后,我们访问http://ECS的公网IP:8848/nacos/#/login,就可以看见我们一键部署的云端nacos服务端了
默认登录密码是nacos/nacos,成功登录之后,跳转到nacos服务器端的主页面
可以看到如上图所示nacos里面主要分2个功能,一个是配置管理,一个是服务管理,这几个小节,我们将先搞定配置管理这边的使用和原理,后面几个小节,我们将整合nacos和dubbo2.7
三.初步体验nacos配置中心的用法
我们使用【spring boot整合docker的那个最基础版的spring boot】 hello world工程做示例
3.1 修改pom.xml增加对nacos对spring boot支持的依赖jar包
com.alibaba.boot nacos-config-spring-boot-starter 0.2.3
3.2 修改application.properties,增加nacos配置中心服务端的地址(IP修改成你们自己的地址)
nacos.config.server-addr=10.98.163.230:8848
3.3 springboot的启动类,只需要增加一个注解@NacosPropertySource就可以了,然后指定dataId
在这边dataId设置的是"bazinga
3389

被折叠的 条评论
为什么被折叠?



