学习中心> 微服务实战-分布式配置中心 - Config> 正文

微服务实战-分布式配置中心 - Config

1课时 |
2537人已学 |
免费
课程介绍

本课程主要基于Spring Cloud Alibaba Config。Spring Cloud Alibaba致力于提供分布式应用服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,方便开发者通过Spring Cloud编程模型轻松使用这些组件来开发分布式应用服务。 依托Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将Spring Cloud应用接入阿里云分布式应用解决方案,通过阿里云中间件来迅速搭建分布式应用系统。

 

分布式配置中心——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. 运行应用配置

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@iZ2ze4wxcyl32394rf836vZ ~]#

 

我的学习进度
请登录后查看您的学习进度!
立即登录
本课程相关云产品