开发者学堂课程【微服务实战-分布式配置中心 - Config:分布式配置中心——Spring Cloud Alibaba Config】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/621/detail/9441
分布式配置中心——Spring Cloud Alibaba Config
目录:
一、 什么是应用配置
二、 为什么要应用配置
三、 下载 Nacos Server
五、建立一个配置项
六、部署到阿里云 EDAS
一、 什么是应用配置
所谓的配置中心就是把配置集中到一起,把这些有关于用的配置集中的什么哪一个固定的地点
那么这就叫做配置中心,
spring.anplication.name-service-provider
serversport-8081
springcloudnacosdiscovervwserver-addr-127.0.0.1:8848
managements endpointswekexesureinclude=*
二、为什么要应用配置
是为了简化配置的应用的过程。同一个应用会部署在不同的环境里面,有测试环境,有生产的环境,那么同样的变量名称,它的结果有可能是不一样的,那么在这种情况下,很难用一个配置或者相互的一个配置文件来解决这样的问题,因此用一个配置中心,用不同的方法来区别不同的这个部署的环境。
1.分离多环境配置
如果同一个应用处在不同的测试环境中,有测试环境,生产环境等,同样的变量名称结果可能是不一样的,在这种情况下,希望有一个配置中心来区分配置环境。
2.可以更灵活的管理权限
有些时候比较敏感的信息,如密码等,不希望被第三方获取,把它放在有安全保障
的配置中心里,可以保障它的安全。
3.安全性更高
三、下载 Nacos Server
https://nacos.io/zh-cn/docsquick- start.html
登录: nacos/nacos .
1.预备环境准备
Nacos 依赖 Java 环境来运行。
如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven 环境,请确保是在以下版本环境中安装使用:
(1).64 bit OS
,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。
(2).64 bit JDK1.8+;
下载&配置。
(3).Maven 3.2.x+;
下载&配置。
2.下载源码或者安装包
你可以通过源码和发行包两种方式来获取 Nacos。从 Github 上下载源码方式
git clone https ://github. com/ a Libaba/ nacos . gitcd nacos/
mvn -Prelease-nacos clean install -U
ls -al distribut ion/target/
// change the $version to your actual path
cd distribut ion/ ta rget/nacos-server-svers ion/nacos/bin
下载编译后压缩包方式
您可以从最新稳定版本下载nacos-server-sversion.zip
包。
unzip nacos-server-$version.zip 5X# tar -xvf nacos-se rver-$version. tar.gzcd nacos/bin
四、 运行应用配置
1.登录,创建配置项
Create Configuration Data ID:
nacos-config-example,properties
Group:DEFAULT_GROUP
2.Bootstrup 配置
spring.aplication.name-nacos-config-example
serverport-18083
sringcuaudasnfisreeradr-127.0.0.1:8848
3.依赖管理配置
<dependencies>
<dependency>
<groupId>org , spr ingf ramework. boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</ dependency>
<dependency>
<g roupId>org . springf ramework. c loud</g roupId>
<artifactId>spring-c loud-starter-alibaba-nacos-config</a<vers ion>0.9.0. RELEASE</version>
</ dependency>
</ dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org . spr ingf ramework. c loud</g roupId>
<artif actId>spr ing-c loud-dependencies</artifactId><vers ion>Greenwich. SR1</vers ion>
<type>pom</ type>
<S cope> import</ scope>
</dependency>
< / denendencies>
4.代码部分
@RestController
@Ref reshScope
class EchoContraller
í
@Value("$flesson. feedback:]")
private String feedback;
@Reques tMapping(value = "/get")
public String echg() f return feedback; ]
在Bootstrup配置中增加一项4.
spring.cloud.nacos.config.fi le-extension-yaml
,
目的是为了在读取的文件格式是 yaml 的时候,再把配置项内容改为Value
(
"lesson.name)
,就可以了。变量从反馈意见到课程名称,此时是成功的。
5.配置项内容动态更新
在配置项内容更新后,在客户端可以实时的得到更新的反馈,就用刚刚的配置项:NacoS-Gonfig-exarmple.yaml
,改名为lesson.namenacos.
在配置项很强的时候,可以防止出现错误的配置。
五、建立一个配置项
Data id
Property
代表用不同的维度去区别不同的配置项。
springapplication,name-nacos-config-example
server.nort=18083
springslaud.nacosconfiaserveraddr-127.0.0.1: 8848
spring.cloud.nacosconfigfile-extension-yaml
spring.cloud.nacosconfignamespace-bf634987-edff-4f05-abf2-bfca
六、部署到阿里云 EDAS
●创建配置
●上传Jar包
什么是企业级分布式应用服务 EDAS
企业级分布式应用服务EDAS
(Enterprise Distributed Application Service)是一个应用托管和微服务管理的PaaS平台,提供应用开发、部署、监控、运维等全栈式解决方案,同时支持Dubbo、Spring Cloud等微服务运行环境,助力您的各类应用轻松上云。
多样的应用托管平台
您可以根据您的应用系统和资源需求,选择独享实例的 ECS 集群、基于 Kubernetes 的容器服务 Kubernetes 集群或
EDASServerless 部署并托管您的应用。
选择版本:
EDAS JAVA 环境(普通ECS)
基础系统: linux架构: 64位
EDAS 普通 ECS 镜像为客户内置 EDAS Agent 版本
购买一周
实例数量,根据需要来定,一般一台或两台
选择安全组,安全组类似防火墙功能, 用于设置网络访问控制。
所选安全组: sg-zeisl0xflj56tu2 (已有 3个实例+辅助网卡,还可以加入1997个实例+辅助网卡)
选择密钥对或者自定义密码
,确定订单
选择同意条款后下单
区域:华北2
group 不能改动,有两个预设的数据是根据数据中心位置或网络位置设定的。
应用:
springanlicationname-nacas-conf ig-example
server.port=18083
springcloud.nacosconfigserver-addr-127.0.0.1:8848
springcloudnacosconfigfile-extensian-yaml
springlloudnacosconfiagroup-4a2r 5bff-d81a-4581-bafb-d2512017846a
Data ID:nacos-config-example.yaml
lesson. name: edas
应用是不跟配置项在一起的,先把应用准备出来,再准备配置项,反过来也可以,先准备配置项,再准备应用。
应用基本信息:
命名空间: 华北2 默认
集群类型: ECS集群 CN-BEIJING_vpc-2z05kyltsi4hj5xpoo03u_DEFAUL
应用名称: nacos-config
应用部署方式: WAR包部署 JAR包部署
应用运行环境: 标准Java应用运行环境
Java环境: Open JDK 8
ID:c946af9f-5bbc-4bfb-8341-3854ef9c0cb9
命名空间:cn-beijing
集群类型: ECS集群
集群名称:CN-BEIJING_vpc-2ze5ky/tsi4hj5xpoo03u_DEFAULT
应用运行环境: 标准Java应用运行环境
状态:运行中1/共1
部署包类型: FATJAR
部署包:默认分组:nacos-config-example-0.0.1-SNAPSHOT.jar
负责人:edas-platinum@aliyun-inner.com
负责人邮箱:andy.shi@alibaba-inc.com
应用创建时间:2019-06-24 11:56:03
最后变更时间:2019-06-24 11:56
US- 169691-MP :Downloads andy.shi$ ssh -i k8sedas.pem root@47.95.233.112Last login: Tue Jun 25 03:00:592019
Welcome to Alibaba Cloud Elastic Compute Service !
[ root@iZ2ze4wxcyl32394rf836vZ ~]# curl http:/ /localhost :8080/getedas [ root@iZ2ze4wxcyl32394rf836
vZ ~]#