应用于分布式系统-微服务创建 | 学习笔记

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 快速学习应用于分布式系统-微服务创建。

开发者学堂课程【Spring Cloud Alibaba Nacos 详解(上)应用于分布式系统-微服务创建】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/724/detail/12925


应用于分布式系统-微服务创建

 

内容介绍

. Nacos  配置管理

.应用在分布式系统中

.发布

.Spring cloud 是什么

.如何使用


. Nacos  配置管理

1.用户通过 Nacos  serverServer 的控制台集中对多个服务的配置进行管理。

2.各服务统一从 Nacos  Server 中获取各自的配置,并监听配置的变化。

 

二.  应用在分布式系统中

如何应用在分布式系统中,典型的微服务架构使用图,

如图:

图片.png

 

 

使用 Nacos  进行配置管理的具体过程,可以看到 Nacos Serber 就是整个 Nacos 架构服务发现中心,下边的两个Service 就是所说的微服务。

分别是 Provider service Corsumer service 这两个配置都会在两个 Server 当中去发布,这里面要清楚各个微服务要获取监听配置,获取配置指的是远程从Server 当中去获取它的配置文件信息,所谓监听配置就是变更的时候 Nacos  Server 会通知这个 Servers Servers 就会获取到最新更新的配置信息,这就是整个配置管理的流程。

 

三、发布

在创建微服务的时候我们可以在 dev 里面去创建 Data ID 就是我们说的配置文件,接下来要发布配置,发布之后各个微服务要获取配置,首先在 Nocos 当中去发布配置,接下来去创建两个微服务,并且用微服务去获取配置,下面按照这个流程去发布配置这两个微服务我们分别起名为 Service1 Service2

首先我们在 DevService当中来发布两个微服务对应的文件,我们来添加配置,首先发布的时候要切到 dev的配置中,我们选择 yaml 格式,这里面进行配置管理测试,我们把流程调通了,之后把配置文件内容改成一个系统所用的配置文件内容,重点是流程得调通,接下来就可以发布,并且Test group就是我们说的定义的组。

 

图片.png

接下来用相同的说法来配置Service2,现在我们就把它配置文件的内容写上去,刚才是 Service1 config 现在是 Service 2 config ,点发布,然后就发布成功。

 

图片.png

 

发布成功完了就要获取配置,获取配置就是要把两个微服务建立起来。两个微服务会依赖相同的依赖,通常我们是建立一个副工程,这里我们打开 Idea 然后在这里面新建一个 Project 点完成,然后这里面的 Nacos  副工程就弄好了,这个副工程的主要内容就是它的 pom 文件,我们这里就是规范它的依赖,这里把它的插件拷过来,我们最终把微服务架构当中,将当前比较流行的微服务架构 Spring cloud 以及当前阿里巴巴新出的一套的微服务新出的套件,之后会介绍阿里巴巴里面的 spring 阿里巴巴和 Springcloud ,所以我们先把三个依赖加进去,会使用 Spring 的阿里巴巴的套件进行开发,所以这里面需要把 Spring 的阿里巴巴和 spring Cloud 都添加进来,这就是我们说的副工程。

然后刷新一下,接下来我们就要创建微服务,就是两个微服务,一个 Service1 一个 Service2了,这两个微服务,我们知道刚才依赖里面我们依赖了 Spring 阿里巴巴。

 

四. Spring cloud是什么

Spring Cloud 是一系列框架的有序集合。

它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础  设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,不会独立的去开放,创建这些,但是是集成的中心,都可以用 Spring  Boot 的开发风格做到一键启动和部署。

Spring Cloud 并没有重复制造轮子,它只是将目前各家公司开发的比  较成熟、经得起实际考验的服务框架组合起来,集成最多的组件要属 Netflix 公司,通过 Spring Boot 风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

Spring Cloud Alibaba Nacos Discovery 是 Spring Cloud Alibaba 的子项目,而 Spring Cloud Alibaba 是阿里巴巴公司提供的开源的基于 Springcloud 的微服务套件合集,它致力于提供微服务开发的一站式解决方案,可以理解为spring cloud是一套微服务开发的标准,spring cloud alibaba spring cloud Netlix是实现。

使用 Spring Cloud Alibaba 方案,开发者只需要添加一些注解和少量配置,就可以将Spring cloud 应用接入到阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统,由于 Nacos 是阿里的中间件,因此,若开发 spring cloud 微服务应用,使用 spring cloud alibaba Nacos  config 来集成 Nacos  的配置管理功能是比较明智的选择。

 

五.怎么使用

1.新建项目 service1

首先新增一个名为 Service1工程,

并添加 Group ID com.alibabacloub Artifact id

Spring cloud starter alibaba config Starter.service1新建的时候我们找到模块,新建一个副工程,完成模块名,

这时Service1 就创建好了,选择副工程,1就变成了2了,这样两个微服务工程都是新建的 Nacos  config,我们要用的是阿里巴巴提供的集成  Nacos  的 Cloud starte alibaba Nacos  config

这个非常长但是是有规律的, Nacos 配置管理的时候的一套依赖,所以整个项目基于 spring 的开发,所以就是它的依赖,那么同样的道理,service2 当中也要加这样的依赖,到这为止 service1 service2

2. Bootstrap.yml 配置

一般来说, Spring boot 的配置将在 Application.yml 文件中编写,由于使用外部配置中心,必须将原先的 Application.yml 重命名 Bootstrap.ymlBootstrap.yml

如下所示:

spring.cloud.Nacos .config.server-addr 指定了 Nacos  server 的网络地址和端口号。

启动得有一个配置文件,这个配置文件的内容首先要定义端口, Spring工程的名称从这里开始就只是 spring cloud,它的一系列的配置在这里,拷过去,可以看到配置名和配置中心,配置文件的扩展名,DataID的名称就是我们看到的 applicationname 加上扩展名,就是从配置文件上看不到配置文件是什么,其实当系统启动的时候,它就会从配置中心读取配置文件,读取的配置文件就是 Service1.yml

它之所以知道读取配置文字,是因为它读取的时候是有规律的,这个 Name Service1 就是我们的共同名,这个扩展名叫 ynm,这个项目的名称加上扩展名就是测试的,我们将开发 dev 的配置上去,所以里面没有配置ID 其实这里面会自动找到 Service1.ynm,就是根据项目名和扩展名组成了 ID,还有 ,Spring 都可以找 Data ID 具体配置文件的内容,这就是我们说到到 Nacos 整合到阿里巴巴的具体方法。

3.启动客户端

具体启动客服端的话,就要启动客服类了,

新建一个 com.itheina.Nacos .在下面就可以叫 Service1,这个启动类就叫 spring boot 的启动类,我们说最终我们需要去获取配置,配置类先写好,Spring boot 的启动方式,就是 Class Args,只要运行这个方法,整个项目就启动起来了,同样的方法我们把Service2也启动一下,我们先创建好,这个就是 Service2,这里面需要去把上面的程序创建一个包,Service2 的微服务,下边走,微服务创建好了,我们在配置文件的时候要读取,Nacos 的配置中心,这里面配置的信息我们要了解,要根据项目名自动找到 ID,这两个微服务的构建就完成。

相关文章
|
2月前
|
Cloud Native 安全 持续交付
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
54 4
|
2月前
|
监控 持续交付 API
深入理解微服务架构及其在现代应用开发中的应用
深入理解微服务架构及其在现代应用开发中的应用
30 4
|
2月前
|
运维 Kubernetes Docker
深入理解容器化技术及其在微服务架构中的应用
深入理解容器化技术及其在微服务架构中的应用
68 1
|
2月前
|
存储 监控 API
深入解析微服务架构及其在现代应用中的实践
深入解析微服务架构及其在现代应用中的实践
54 0
|
2月前
|
监控 物联网 持续交付
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
37 0
|
2月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
149 6
|
2月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
57 1
|
1月前
|
Java 开发者 微服务
从单体到微服务:如何借助 Spring Cloud 实现架构转型
**Spring Cloud** 是一套基于 Spring 框架的**微服务架构解决方案**,它提供了一系列的工具和组件,帮助开发者快速构建分布式系统,尤其是微服务架构。
165 69
从单体到微服务:如何借助 Spring Cloud 实现架构转型
|
1月前
|
运维 监控 持续交付
微服务架构解析:跨越传统架构的技术革命
微服务架构(Microservices Architecture)是一种软件架构风格,它将一个大型的单体应用拆分为多个小而独立的服务,每个服务都可以独立开发、部署和扩展。
197 36
微服务架构解析:跨越传统架构的技术革命
|
4月前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2