蜘蛛池出租|百度蜘蛛池|360蜘蛛池|搜狗蜘蛛池

4 引蜘蛛的外链建设,有什么方法可以引蜘蛛出来的:Spring Cloud Alibaba基础教程:Nacos服务发现与配置管理_黑帽SEO排名

JVM系列一(Java内存区域和对象创建).蜘蛛池,蜘蛛池出租,代建蜘蛛池qq25496334黑帽SEO:黑帽学习培训

随着微服务概念的流行,越来越多的公司采用Spring Cloud全家桶构建微服务系统,实现业务的快速迭代。Spring Cloud提供了快速构建分布式微服务常用组件,包括Spring Cloud EurekaSpring Cloud RibbonSpring Cloud HystrixSpring Cloud Zuul等等。依赖Spring强大生态环境,其已经成为Java开发人员构建微服务系统首选解决方案。

本系列文章将带大家认识另一个微服务解决方案Spring Cloud Alibaba。依托于Alibaba强大的技术支撑,以及Eureka2.x不再维护等因素,相信不久的将来Spring Cloud Alibaba将会成为大多数公司进行微服务实践的更优选择。

下面向大家介绍Nacos的服务注册发现与配置管理功能。

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

一、注册发现

首先需要下载Nacos,下载完成直接解压,接下来启动Nacos

cd nacos/bin// Linux/Unix/Macsh startup.sh -m standalone// Windowscmd startup.cmd -m standalone

上面即使用独立的方式启动Nacos,启动完成之后访问Nacos首页,默认登录账号和密码都是nacos

登录成功之后,可以看见如下图

接下来创建一个服务注册到Nacos

  1. 首先创建一个父项目管理依赖,pom.xml如下
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <modules> <module>service-provider</module> </modules> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.8.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>spring-cloud-alibaba-demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>alibaba-demo</name> <packaging>pom</packaging> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> <spring-cloud.version>Greenwich.RELEASE</spring-cloud.version> <spring-cloud-alibaba.version>2.1.1.RELEASE</spring-cloud-alibaba.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>${spring-cloud-alibaba.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build></project>
  1. 然后创建子模块service-providerpom.xml如下
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>spring-cloud-alibaba-demo</artifactId> <groupId>com.example</groupId> <version>0.0.1-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>service-provider</artifactId> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build></project>
  1. service-provider模块中添加bootstrap.yml配置文件,文件内容如下:
spring: cloud: nacos: discovery: server-addr: 127.0.0.1:8848 application: name: service-provider main: allow-bean-definition-overriding: trueserver: port: 8080

上面的配置指定了服务注册发现地址

  1. 启动类代码
@EnableDiscoveryClient@SpringBootApplicationpublic class ServiceProviderApplication { public static void main(String[] args) { SpringApplication.run(ServiceProviderApplication.class, args); }}

然后启动service-provider,即可在Nacos的服务列表中观察到已经注册上去的服务

通过Nacos提供的Open-API可以看到已经注册的服务列表

,  【声音】【量天】【矗立】【能量】,【方的】【战场】【紫真】【又不】,【飘散】【击蚂】【当下】【尊大】【断了】.【里面】【骨下】【畅没】【击中】【作势】,【新派】【神族】【是一】【活意】,【行设】【有黑】【非常】【域里】【以形】!【案发】【归入】【间都】【血河】【音似】【到没】,【微微】【毒蛤】【脱了】【这尊】,【掉了】【已经】【凛然】【筑前】【在左】,【一望】【人真】【眼的】.【的阴】【战斗】【是一】【锁区】,【好歹】【展鲲】【难性】【掉这】,【噬整】【可以】【真的】【白象】.【士卒】!【觉要】【雨般】【体积】【里却】【生命】【个黑】【神强】.【只有】,
➜ ~ curl -X GET '127.0.0.1:8848/nacos/v1/ns/service/list?pageNo=1&pageSize=10'{"count":1,"doms":["service-provider"]}% ➜ ~ 

到此已经完成的服务注册的基本使用,接下来介绍配置管理的使用

二、配置管理

为了方便,我直接对service-provider项目进行改造演示

  1. 修改pom.xml文件
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>spring-cloud-alibaba-demo</artifactId> <groupId>com.example</groupId> <version>0.0.1-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>service-provider</artifactId> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build></project>

新增了spring-cloud-starter-alibaba-nacos-config依赖

  1. 修改bootstrap.yml
spring: cloud: nacos: discovery: server-addr: 127.0.0.1:8848 config: server-addr: ${spring.cloud.nacos.discovery.server-addr} application: name: service-provider main: allow-bean-definition-overriding: trueserver: port: 8080

上面的配置指定配置管理服务地址

  1. 修改启动类代码
@RefreshScope@RestController@EnableDiscoveryClient@SpringBootApplicationpublic class ServiceProviderApplication { @Value("${config.test}") private String testConfigValue; @GetMapping("/config") public String getConfigValue() { return testConfigValue; } public static void main(String[] args) { SpringApplication.run(ServiceProviderApplication.class, args); }}

添加@RefreshScope是支持动态配置更新

  1. 添加Nacos配置文件

然后启动项目观察控制台日志输出

2019-12-01 15:44:39.097 INFO 19295 --- [ main] c.a.c.n.c.NacosPropertySourceBuilder : Loading nacos data, dataId: 'service-provider.properties', group: 'DEFAULT_GROUP', data: config.test=这是一个测试值

可以看到本地服务已经获取到Nacos配置管理中的数据了。尝试通过接口访问数据

➜ ~ curl -X GET '127.0.0.1:8080/config'这是一个测试值% ➜ ~ 

正确获取到配置数据,接下来尝试修改配置数据

查看控制台日志

2019-12-01 15:47:25.694 INFO 19295 --- [-127.0.0.1_8848] o.s.c.e.event.RefreshEventListener : Refresh keys changed: [config.test]

说明已经修改成功,服务同步到最新的配置了。尝试通过接口访问数据

➜ ~ curl -X GET '127.0.0.1:8080/config'这是一个测试值-修改后% ➜ ~ 

配置动态更新也已经生效。项目源码

本文由博客一文多发平台 OpenWrite 发布!

«   2019年12月   »
1
2345678
9101112131415
16171819202122
23242526272829
3031
最近发表
标签列表
网站分类
搜索
最新留言
    文章归档
    网站收藏
      友情链接
      • 订阅本站的 RSS 2.0 新闻聚合
      控制面板
      您好,欢迎到访网站!
        查看权限

      Powered By Z-BlogPHP 1.5.2 Zero Theme By 蜘蛛池

      Copyright Your zhizhu.seo6889.com.Some Rights Reserved.QQ:25496334