文章简单介绍Nacos的配置中心的使用,以及SpringBoot服务中通过RestFul接口风格来实现前后端的交互,基本的增删改查实现通过MyBatisPlus来实现,服务利用Docker来进行部署。
使用一个简单的综合应用,来浅浅的了解一下,应用主要是实现一个核算排队安排表,基本需求是用MySQL搭建一张表来记录核酸排队安排表,主要记录在哪个时间段是哪些班级在排队做核酸,可以通过班级知道什么时间验核酸,反之也可以通过时间来查是哪些班级验核酸,前后端的数据交互使用json格式,表单显示全部的排队情况,并且可以删除队列。
技术栈简介
Nacos
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
Nacos的动态配置服务,可以以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。动态配置消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷。配置中心化管理让实现无状态服务变得更简单,让服务按需弹性扩展变得更容易。
Nacos 提供了一个简洁易用的UI(示例Demo) 用于帮助管理所有的服务和应用的配置。
Nacos 还提供包括配置版本跟踪、金丝雀发布、一键回滚配置以及客户端配置更新状态跟踪在内的一系列开箱即用的配置管理特性,帮助您更安全地在生产环境中管理配置变更和降低配置变更带来的风险。
Docker
Docker将应用程序与程序的依赖,打包在一个文件里。运行这个文件就会生成一个虚拟容器,程序运行在虚拟容器里,如同真实物理机上运行一样,有了docker,就不用过多担心环境的问题。
Docker的主要应用场景在于:
- Web应用的自动化打包与发布
- 自动化测试和持续集成、发布
- 在服务型环境中部署和调整数据库或其他应用
RestFul
RESTful架构应该遵循统一接口原则,统一接口包含了一组受限的预定义的操作,不论什么样的资源,都是通过使用相同的接口进行资源的访问。接口应该使用标准的HTTP方法如GET,PUT和POST,并遵循这些方法的语义。
如果按照HTTP方法的语义来暴露资源,那么接口将会拥有安全性和幂等性的特性,例如GET和HEAD请求都是安全的, 无论请求多少次,都不会改变服务器状态。而GET、HEAD、PUT和DELETE请求都是幂等的,无论对资源操作多少次, 结果总是一样的,后面的请求并不会产生比第一次更多的影响。
(官网抄的)
项目整合与实现
SpringBoot整合Nacos配置中心
Nacos解压安装好后,进入解压bin目录,执行“startup.cmd -m standalone”命令启动Nacos,默认端口为8848,启动默认端口为8848,修改端口号可以在conf目录下修改,standalone:表示单机运行。
启动Nacos
进入nacos管理页面
访问地址为:http://127.0.0.1:8848/nacos,默认的账号密码都是:nacos
在Nacos中新建一个新的命名空间
在配置管理的配置列表新建配置
我的配置信息
新建好配置信息后,在springboot工程中,添加pom依赖
<!-- nacos配置-->
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.7</version>
</dependency>
springboot跟nacos有很强的版本对应关系,这里的springboot版本是2.2.7.RELEASE
在application.yml中添加nacos引用配置
# 加载nacos配置
nacos:
config:
server-addr: 127.0.0.1:8848
namespace: 2e83a7e6-d6b0-4274-97a5-6485f055ec9a
username: nacos
password: nacos
data-id: application-dev.yml
group: DEFAULT_GROUP
启动类加上
启动应用后,日志提示,已经使用了动态配置
功能实现
简单的表结构设计
通过mybatisplus实现对该表的基本增删改查的功能逻辑
...