分布式配置中心——Spring Cloud Alibaba Config| 学习笔记

简介: 快速学习分布式配置中心——Spring Cloud Alibaba Config

开发者学堂课程微服务实战-分布式配置中心 - 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平台,提供应用开发、部署、监控、运维等全栈式解决方案,同时支持DubboSpring 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@iZ2ze4wxcyl32394rf836vZ ~]#

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
2天前
|
前端开发 Java 开发者
Spring生态学习路径与源码深度探讨
【11月更文挑战第13天】Spring框架作为Java企业级开发中的核心框架,其丰富的生态系统和强大的功能吸引了无数开发者的关注。学习Spring生态不仅仅是掌握Spring Framework本身,更需要深入理解其周边组件和工具,以及源码的底层实现逻辑。本文将从Spring生态的学习路径入手,详细探讨如何系统地学习Spring,并深入解析各个重点的底层实现逻辑。
21 9
|
22天前
|
前端开发 Java 数据库
SpringBoot学习
【10月更文挑战第7天】Spring学习
33 9
|
23天前
|
XML Java 数据格式
Spring学习
【10月更文挑战第6天】Spring学习
19 1
|
27天前
|
Java 测试技术 开发者
springboot学习四:Spring Boot profile多环境配置、devtools热部署
这篇文章主要介绍了如何在Spring Boot中进行多环境配置以及如何整合DevTools实现热部署,以提高开发效率。
52 2
|
27天前
|
前端开发 Java 程序员
springboot 学习十五:Spring Boot 优雅的集成Swagger2、Knife4j
这篇文章是关于如何在Spring Boot项目中集成Swagger2和Knife4j来生成和美化API接口文档的详细教程。
48 1
|
27天前
|
Java API Spring
springboot学习七:Spring Boot2.x 拦截器基础入门&实战项目场景实现
这篇文章是关于Spring Boot 2.x中拦截器的入门教程和实战项目场景实现的详细指南。
19 0
springboot学习七:Spring Boot2.x 拦截器基础入门&实战项目场景实现
|
27天前
|
Java API Spring
springboot学习六:Spring Boot2.x 过滤器基础入门&实战项目场景实现
这篇文章是关于Spring Boot 2.x中过滤器的基础知识和实战项目应用的教程。
21 0
springboot学习六:Spring Boot2.x 过滤器基础入门&实战项目场景实现
|
27天前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
45 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
27天前
|
Java 关系型数据库 MySQL
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
这篇文章是关于如何使用Spring Boot框架通过JdbcTemplate操作MySQL数据库的教程。
20 0
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
|
27天前
|
Java 测试技术 Spring
springboot学习三:Spring Boot 配置文件语法、静态工具类读取配置文件、静态工具类读取配置文件
这篇文章介绍了Spring Boot中配置文件的语法、如何读取配置文件以及如何通过静态工具类读取配置文件。
41 0
springboot学习三:Spring Boot 配置文件语法、静态工具类读取配置文件、静态工具类读取配置文件
下一篇
无影云桌面