当前位置: 首页 > news >正文

海口模板建站定制网站学编程的正规学校

海口模板建站定制网站,学编程的正规学校,安卓应用商店下载,固始网站建设Nacos简介 在2中学习了服务治理中心eureka,而本节的nacos来自springcloud alibaba。 Nacos也是一个服务注册和管理的组件。 Nacos 支持几乎所有主流类型的“服务”的发现、配置和管理 官方文档 快速开始 | Spring Cloud Alibaba (aliyun.com) 概述 | Spring C…

Nacos简介

在2中学习了服务治理中心eureka,而本节的nacos来自springcloud alibaba。

Nacos也是一个服务注册和管理的组件。

Nacos 支持几乎所有主流类型的“服务”的发现、配置和管理

官方文档

快速开始 | Spring Cloud Alibaba (aliyun.com)

概述 | Spring Cloud Alibaba (aliyun.com)

Nacos Spring Cloud 快速开始

安装启动

Nacos 快速开始

访问:http://127.0.0.1:8848/nacos/ 

 示例

可以使用官方示例

spring-cloud-alibaba/spring-cloud-alibaba-examples/nacos-example/nacos-config-example at 2022.x · alibaba/spring-cloud-alibaba · GitHub

 参考官方教程:快速开始 | Spring Cloud Alibaba (aliyun.com)

Nacos 来实现分布式环境下的配置管理和服务注册发现。

配置管理

(这节讲的是如何通过应用实现对nacos的配置进行管理)

  • 通过 Nacos Server 和 spring-cloud-starter-alibaba-nacos-config 实现配置的动态变更,这里的配置,是指nacos本身的配置,可以对nacos添加配置,更新配置。
  • Nacos Spring Cloud 快速开始

如果要在您的项目中使用 Nacos 来实现配置管理,需要进行以下操作(确保 Nacos Server 已启动):

  1. 需要在 pom.xml 文件中引入 group ID 为 com.alibaba.cloud 和 artifact ID 为 spring-cloud-starter-alibaba-nacos-config 的 starter:

    <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    </dependency>
    

  2. 在应用的 /src/main/resources/application.yaml 配置文件中配置 Nacos Config 地址并引入服务配置:

    spring:cloud:nacos:serverAddr: 127.0.0.1:8848config:import:- nacos:nacos-config-example.properties?refresh=true
    
  3. 完成上述两步后,应用会从 Nacos Server 中获取相应的配置,并添加在 Spring Environment 的 PropertySources 中。假设我们通过 Nacos 作为配置中心保存应用服务的部分配置,有以下几种方式实现:

    • BeanAutoRefreshConfigExample:通过将配置信息配置为bean,支持配置变自动刷新;
    • ConfigListenerExample:监听配置信息;
    • DockingInterfaceExample:对接 Nacos 接口,通过接口完成对配置信息增删改查
    • ValueAnnotationExample:通过 @Value 注解进行配置信息获取。示例代码给出了这几种方式

调用 Nacos Open API 向 Nacos Server 发布配置​

  1. 命令行方式:

    $ curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos-config-example.properties&group=DEFAULT_GROUP&content=spring.cloud.nacos.config.serverAddr=127.0.0.1:8848%0Aspring.cloud.nacos.config.prefix=PREFIX%0Aspring.cloud.nacos.config.group=GROUP%0Aspring.cloud.nacos.config.namespace=NAMESPACE"
    

  2. 控制台方式(推荐使用):

    dataId为:nacos-config-example.properties
    group为:DEFAULT_GROUP
    

    配置内容如下:

    spring.cloud.nacos.config.serveraddr=127.0.0.1:8848
    spring.cloud.nacos.config.prefix=PREFIX
    spring.cloud.nacos.config.group=GROUP
    spring.cloud.nacos.config.namespace=NAMESPACE

 

添加后的配置 

报错不支持java 17,需要在project structure将SDK设置为JDK17,运行解决。

请求 http://127.0.0.1:18084/nacos/bean 地址,可以看到成功从 Nacos 配置中心中获取了数据。

$ curl http://127.0.0.1:18084/nacos/bean

响应结果:

{"serverAddr": "127.0.0.1:8848","prefix": "PREFIX","namespace": "NAMESPACE","group":"GROUP"
}

这里返回的是BeanAutoRefreshConfigExample读取到的nacos的配置。

在命令行终端执行以下命令刷新 Nacos 的配置信息:

$ curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos-config-example.properties&group=DEFAULT_GROUP&content=spring.cloud.nacos.config.serveraddr=127.0.0.1:8848%0Aspring.cloud.nacos.config.prefix=PREFIX%0Aspring.cloud.nacos.config.group=DEFAULT_GROUP%0Aspring.cloud.nacos.config.namespace=NAMESPACE"

(修改nacos的配置)

再次请求 http://127.0.0.1:18084/nacos/bean 地址,可以看到应用已经从 Nacos 中获取到了最新的数据。

$ curl http://127.0.0.1:18084/nacos/bean

响应结果:

{"serverAddr": "127.0.0.1:8848","prefix": "PREFIX","namespace": "NAMESPACE","group": "DEFAULT_GROUP"
}

服务注册与发现

服务注册,是指服务被注册到nacos中,nacos可以对服务进行管理。

服务发现,是指当一个服务consumer,请求另一个服务provider时,由nacos发现 provider,consumer才去获取provider提供的服务。如果没有nacos,consumer找不到provider。

服务注册

 

将服务注册到Nacos中

微服务的节点都需要注册到服务注册中心

1)加依赖

需要在 pom.xml 文件中引入 group ID 为 com.alibaba.cloud 和 artifact ID 为 spring-cloud-starter-alibaba-nacos-discovery 的 starter:

<dependency> <groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

2)加配置

添加应用配置:在应用的 /src/main/resources/application.properties 配置文件中配置 Nacos Server 地址:

spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
spring.application.name=service-provider #​​​​​​​这里的name配置了服务的名称。
server.port=18082

3)加注解 

  1. 使用 @EnableDiscoveryClient 注解开启服务注册与发现功能:

    @SpringBootApplication
    @EnableDiscoveryClient
    public class ProviderApplication {public static void main(String[] args) {SpringApplication.run(ProviderApplication.class, args);}@RestControllerclass EchoController {@GetMapping(value = "/echo/{string}")public String echo(@PathVariable String string) {return string;}}
    }
    

启动应用并验证

  1. 启动provider应用,

    IDE直接启动:找到 nacos-discovery-provider-example 项目的主类 ProviderApplication,执行 main 方法启动应用。
  2. 报错 提示找不到或无法加载主类 com.alibaba.cloud.examples.ProviderApplication​​​​​​​

rebuild,清除IDEA缓存都没解决 

单独打开这个服务运行就可以了

 发现服务已被注册到Nacos

服务发现

这一节涉及到了另外的组件feign,需要前置知识。

启动nacos-discovery-consumer-example

访问127.0.0.1:18083/echo-rest/1234 返回的是provider的/echo/string方法的结果,说明消费者请求到了提供者提供的服务。

请求 http://127.0.0.1:18083/echo-feign/12345 地址,可以看到响应显示了 nacos-discovery-provider-example 返回的消息 "hello Nacos Discovery 12345",证明服务发现生效。 

 

http://www.yayakq.cn/news/189868/

相关文章:

  • 公司网站系统做网站的公司需要什么资质
  • 网络公司网站建设费入什么科目企业邮箱哪家更好用
  • 安平营销型网站建设费用网站怎么响应式布局
  • 怎样做好网站建设设计做鞋子皮革有什么网站
  • 龙华建设发展有限公司网站望江网站建设
  • 如何建设社区网站wordpress 运行环境
  • 梵高网站建设搭建网站哪个好
  • wordpress addfilter厦门网站建设厦门seo
  • 免费做网站的app怎样在拼多多平台上卖货
  • 网站的锚点链接怎么做wordpress无法选择服务器
  • 企业网站文化建设wordpress评论按钮插件
  • 做外国网站买域名河北提供网站制作公司报价
  • 59网一起做网站兰州今天发生的重大新闻
  • 各位给推荐个网站北京空间信息传输中心
  • 昌江区网站建设律师关键词推广
  • 长沙模板建站源码怎么做汽车网站推广方案
  • 保定做网站建设app网站开发案例
  • 博物馆网站建设的根本意义北京企业推广
  • 天津开发区建网站公司多渠道营销平台与crm
  • 网站想要被收录要怎么做三合一网站开发有什么区别
  • wordpress支持多站点建设银行第三方网站鉴权
  • ai做网站西宁网站运营公司
  • 怎么做网站相关关键词九江建设监督网站
  • 网站访客qq统计 原理论坛的网站制作
  • 四川建设网网站网站建设怎么外包好
  • 卡片式设计的网站福州免费企业网站建站
  • 昆明电子商务网站建设网页制作教程网站
  • python 做网站相关的库wordpress 分类信息插件
  • vs做asp网站流程景德镇网站制作公司
  • 个人网站做短视频天河建设网站服务