springboot+nacos,spring boot nacos使用
00-1010一、Nacos基础介绍1、概念介绍2、关键特性3、技术术语解释4、Nacos生态圈2、Nacos环境构建1、环境版本2、环境包下载3、引导环境的引导文件地址:3。整合SpringBoot21、新配置2、核心依赖3、Yml配置文件4、引导类配置5、核心配置类6、基础API
目录
一、Nacos基础简介
Nacos是构建以“服务”为中心的现代应用架构,如微服务范式、云原生范式等服务基础设施。专注于发现、配置和管理微服务。Nacos提供了一套简单易用的特性,帮助开发者快速实现动态服务发现、服务配置、服务元数据和流量管理。微服务平台的敏捷构建、交付和管理。
00-1010动态配置服务服务发现和服务健康监控动态DNS服务及其元数据管理
00-1010命名空间用于租户粒度配置隔离。在不同的名称空间下,可以存在相同组或数据ID的配置。
配置集一组相关或不相关的配置项称为配置集。在系统中,配置文件通常是一个配置集,它包含系统所有方面的配置。
配置集in nacos中配置集的ID。配置集ID是组织部门配置的维度之一。DataID通常用于组织和划分系统的配置集。
在Nacos中对一组配置集进行分组是组织配置的维度之一。按有意义的字符串对配置集进行分组,以便区分具有相同数据ID的配置集。
配置Nacos的客户端SDK将在本地生成配置的快照。当客户端无法连接到Nacos服务器时,可以使用配置快照来显示系统的整体容灾能力。
注册存储服务实例和服务负载平衡策略的数据库。
服务发现使用服务名来检测服务下实例的地址和元数据,并通过预定义的接口提供给客户端进行查询。
元数据Nacos数据(如配置和服务)描述信息,如服务版本、权重、容灾策略、负载均衡策略等。
1、概念简介
Nacos无缝支持一些主流开源框架生态系统:
云微服务框架;Duorpc框架;Kubernetes容器应用程序:
2、关键特性
00-1010这里,在Windos环境中设置了一个单独的Nacos服务。
Nacos版本:官方推荐的稳定版是1.1.4。基础环境:JDK 1.8;Maven 3.2.x
00-1010直接在这里下载打包文件,也可以自己下载源代码打包。
https://github.com/alibaba/nacos/releases
下载文件:nacos-server-1.1.4.zip
00-1010启动文件地址:nacosbin启动文件:startup.cmd关闭文件:shutdown.cmd启动后登录,默认账号密码为nacos/nacos;主页效果如下:
00-1010注:0.2.x.RELEASE版本对应Spring Boot的2.x版本,0.1.x.RELEASE版本对应Spring Boot 2.x的1.x版本
3、专业术语解释
4、Nacos生态圈
!- Nacos组件依赖项-依赖项groupIdcom.alibaba.boot/groupId artifactidacos-发现-spring-boot-starter/artifactid版本0 . 2 . 3/版本/依赖项依赖项groupIdcom.alibaba.boot/groupId artifa
ctId>nacos-config-spring-boot-starter</artifactId> <version>0.2.3</version></dependency>
3、Yml配置文件
这里把项目作为服务注册到Nacos中。
nacos: config: server-addr: 127.0.0.1:8848 discovery: server-addr: 127.0.0.1:8848
4、启动类配置
启动类关联配置中心的dataId标识。
@EnableSwagger2@SpringBootApplication@NacosPropertySource(dataId = "WARE_ID", autoRefreshed = true)public class Application7017 { public static void main(String[] args) { SpringApplication.run(Application7017.class,args) ; }}
5、核心配置类
import com.alibaba.nacos.api.annotation.NacosInjected;import com.alibaba.nacos.api.exception.NacosException;import com.alibaba.nacos.api.naming.NamingService;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Configuration;import javax.annotation.PostConstruct;@Configurationpublic class NacosConfig { @Value("${server.port}") private int serverPort; @Value("${spring.application.name}") private String applicationName; @NacosInjected private NamingService namingService; @PostConstruct public void registerInstance() throws NacosException { namingService.registerInstance(applicationName, "127.0.0.1", serverPort); }}
启动成功后查询服务列表:
6、基础API用例
这里演示两个基础用法:上述步骤1的配置内容读取,步骤4的服务列表读取。基于swagger2管理测试接口。
@Api("Nacos接口管理")@RestController@RequestMapping("/nacos")public class NacosController { @NacosValue(value = "${MyName:null}", autoRefreshed = true) private String myName; @NacosValue(value = "${project:null}", autoRefreshed = true) private String project; @ApiOperation(value="查询配置信息") @GetMapping(value = "/info") public String info () { return myName+":"+project; } @NacosInjected private NamingService namingService; @ApiOperation(value="查询服务列表") @GetMapping(value = "/getServerList") public List<Instance> getServerList (@RequestParam String serviceName) { try { return namingService.getAllInstances(serviceName) ; } catch (Exception e){ e.printStackTrace(); } return null ;}
四、源代码地址
GitHub·地址https://github.com/cicadasmile/middle-ware-parentGitEE·地址https://gitee.com/cicadasmile/middle-ware-parent
到此这篇关于SpringBoot2 整合Nacos组件,环境搭建和入门案例详解的文章就介绍到这了,更多相关SpringBoot2 整合Nacos内容请搜索盛行IT以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。