分布式配置中心——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 ~]#

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
负载均衡 监控 Java
Spring Cloud Gateway 全解析:路由配置、断言规则与过滤器实战指南
本文详细介绍了 Spring Cloud Gateway 的核心功能与实践配置。首先讲解了网关模块的创建流程,包括依赖引入(gateway、nacos 服务发现、负载均衡)、端口与服务发现配置,以及路由规则的设置(需注意路径前缀重复与优先级 order)。接着深入解析路由断言,涵盖 After、Before、Path 等 12 种内置断言的参数、作用及配置示例,并说明了自定义断言的实现方法。随后重点阐述过滤器机制,区分路由过滤器(如 AddRequestHeader、RewritePath、RequestRateLimiter 等)与全局过滤器的作用范围与配置方式,提
Spring Cloud Gateway 全解析:路由配置、断言规则与过滤器实战指南
|
2月前
|
Java 关系型数据库 MySQL
Spring Boot自动配置:魔法背后的秘密
Spring Boot 自动配置揭秘:只需简单配置即可启动项目,背后依赖“约定大于配置”与条件化装配。核心在于 `@EnableAutoConfiguration` 注解与 `@Conditional` 系列条件判断,通过 `spring.factories` 或 `AutoConfiguration.imports` 加载配置类,实现按需自动装配 Bean。
|
2月前
|
人工智能 Java 开发者
【Spring】原理解析:Spring Boot 自动配置
Spring Boot通过“约定优于配置”的设计理念,自动检测项目依赖并根据这些依赖自动装配相应的Bean,从而解放开发者从繁琐的配置工作中解脱出来,专注于业务逻辑实现。
|
4月前
|
Java Spring
Spring Boot配置的优先级?
在Spring Boot项目中,配置可通过配置文件和外部配置实现。支持的配置文件包括application.properties、application.yml和application.yaml,优先级依次降低。外部配置常用方式有Java系统属性(如-Dserver.port=9001)和命令行参数(如--server.port=10010),其中命令行参数优先级高于系统属性。整体优先级顺序为:命令行参数 &gt; Java系统属性 &gt; application.properties &gt; application.yml &gt; application.yaml。
857 0
|
28天前
|
前端开发 Java 应用服务中间件
《深入理解Spring》 Spring Boot——约定优于配置的革命者
Spring Boot基于“约定优于配置”理念,通过自动配置、起步依赖、嵌入式容器和Actuator四大特性,简化Spring应用的开发与部署,提升效率,降低门槛,成为现代Java开发的事实标准。
|
2月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
478 5
|
2月前
|
传感器 Java 数据库
探索Spring Boot的@Conditional注解的上下文配置
Spring Boot 的 `@Conditional` 注解可根据不同条件动态控制 Bean 的加载,提升应用的灵活性与可配置性。本文深入解析其用法与优势,并结合实例展示如何通过自定义条件类实现环境适配的智能配置。
159 0
探索Spring Boot的@Conditional注解的上下文配置
|
3月前
|
安全 算法 Java
在Spring Boot中应用Jasypt以加密配置信息。
通过以上步骤,可以在Spring Boot应用中有效地利用Jasypt对配置信息进行加密,这样即使配置文件被泄露,其中的敏感信息也不会直接暴露给攻击者。这是一种在不牺牲操作复杂度的情况下提升应用安全性的简便方法。
916 10
|
4月前
|
人工智能 安全 Java
Spring Boot yml 配置敏感信息加密
本文介绍了如何在 Spring Boot 项目中使用 Jasypt 实现配置文件加密,包含添加依赖、配置密钥、生成加密值、在配置中使用加密值及验证步骤,并提供了注意事项,确保敏感信息的安全管理。
1048 1
|
4月前
|
SQL XML Java
配置Spring框架以连接SQL Server数据库
最后,需要集成Spring配置到应用中,这通常在 `main`方法或者Spring Boot的应用配置类中通过加载XML配置或使用注解来实现。
404 0

热门文章

最新文章