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

天河网站建设公司螺蛳粉营销策划方案

天河网站建设公司,螺蛳粉营销策划方案,东莞商城网站建设,wordpress里面的rss订阅🚩本文已收录至专栏:微服务探索之旅 👍希望您能有所收获 Nacos除了可以做配置管理,同样可以当作注册中心来使用。 了解注册中心用法点击跳转👉【微服务】Nacos注册中心 一.引入 当微服务部署的实例越来越多&#xff0…

🚩本文已收录至专栏:微服务探索之旅
👍希望您能有所收获
Nacos除了可以做配置管理,同样可以当作注册中心来使用。

了解注册中心用法点击跳转👉【微服务】Nacos注册中心

一.引入

当微服务部署的实例越来越多,达到数十、数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错。我们需要一种统一配置管理方案,可以集中管理所有实例的配置。

  • 由此我们可以引入Nacos用于统一的配置管理:
    • 一方面可以用于将配置集中管理。
    • 另一方可以在配置变更时,及时通知微服务,实现配置的热更新。
      在这里插入图片描述

二.统一配置管理

(1) 在nacos中添加配置文件

如何在nacos中管理配置呢?

1.点击右侧配置列表

在这里插入图片描述

  1. 在弹出的表单中,填写配置信息:

在这里插入图片描述

  • 注意:项目的核心配置,需要热更新的配置才有放到nacos管理的必要。基本不会变更的一些配置还是保存在微服务本地比较好。

(2) 在微服务拉取配置

(2.1) 前言

  • 微服务要拉取nacos中管理的配置,并且与本地的application.yml配置合并,才能完成项目启动。

  • 但如果尚未读取application.yml,又如何得知nacos地址呢?

  • 因此spring引入了一种新的配置文件:bootstrap.yaml文件,会在application.yml之前被读取,流程如下:
    在这里插入图片描述

(2.2) 引入依赖

在user-service服务中,引入nacos-config的客户端依赖:

<!--nacos配置管理依赖-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

注意:如果未在工程中统一管理依赖版本,此处需要指定具体版本

(2.3) 新建bootstrap.yaml

在user-service中添加一个bootstrap.yaml文件,内容如下:

spring:application:name: userservice # 服务名称profiles:active: dev # 开发环境,这里是dev cloud:nacos:server-addr: localhost:8848 # Nacos地址config:file-extension: yaml # 文件后缀名

这里会根据spring.cloud.nacos.server-addr获取nacos地址,再根据

${spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}作为文件id,来读取配置。

本例中,就是去读取userservice-dev.yaml

在这里插入图片描述

(2.4) 测试

在user-service中的UserController中添加业务逻辑,尝试读取nacos中配置的pattern.dateformat:

在这里插入图片描述

完整代码:

package cn.itcast.user.web;import cn.itcast.user.pojo.User;
import cn.itcast.user.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;@Slf4j
@RestController
@RequestMapping("/user")
public class UserController {@Autowiredprivate UserService userService;@Value("${pattern.dateformat}")private String dateformat;@GetMapping("now")public String now(){return LocalDateTime.now().format(DateTimeFormatter.ofPattern(dateformat));}// ...略
}

在页面访问,可以看到效果:

在这里插入图片描述

说明已经成功读取到了我们在nacos中配置的日期格式。

三.配置热更新

(1) 引入

我们的目的之一是当我们修改nacos中的配置后,无需重启微服务即可让配置即可生效,也就是配置热更新

要实现配置热更新,可以使用两种方式:

(2) 方式一

在@Value注入的变量所在类上添加注解@RefreshScope
在这里插入图片描述

(3) 方式二

使用@ConfigurationProperties注解代替@Value注解。

  1. 在user-service微服务中,新建一个类,读取nacos中配置的patterrn.dateformat属性:
package cn.itcast.user.config;import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;@Component
@Data
@ConfigurationProperties(prefix = "pattern")
public class PatternProperties {private String dateformat;
}
  1. 在UserController中使用这个读取配置类代替@Value直接注入:

在这里插入图片描述

(4) 测试

修改nacos中配置后直接刷新网页后可以看到服务已经成功读取到修改后的配置~

在这里插入图片描述

四.配置共享

(1) 前言

在微服务启动时,会去nacos按顺序读取多个配置文件,例如:

  • [spring.application.name]-[spring.profiles.active].yaml,例如:userservice-dev.yaml

  • [spring.application.name].yaml,例如:userservice.yaml

[spring.application.name].yaml不包含环境,每种环境都会去读取,因此可以被多个环境共享。

(2) 使用

(2.1) 添加一个环境共享配置

我们在nacos中添加一个userservice.yaml文件:
在这里插入图片描述

(2.2) 读取共享配置

  1. 在user-service服务中,修改PatternProperties类,读取新添加的属性:

在这里插入图片描述

  1. 在user-service服务中,修改UserController,添加一个方法:
    在这里插入图片描述

  2. 运行两个UserApplication,修改UserApplication2这个启动项,改变其profile值:
    在这里插入图片描述

在这里插入图片描述

UserApplication(8081)使用的profile是dev,UserApplication2(8082)使用的profile是test。

  1. 启动UserApplication和UserApplication2

访问http://localhost:8081/user/prop,结果:
在这里插入图片描述

访问http://localhost:8082/user/prop,结果:
在这里插入图片描述

可以看出来,不管是dev,还是test环境,都读取到了envSharedValue这个属性的值。

(3) 配置共享的优先级

当nacos、服务本地同时出现相同配置属性时,优先级有高低之分:
在这里插入图片描述

http://www.qdjiajiao.com/news/8723.html

相关文章:

  • 网站js修改代码aso推广优化
  • 网站说服力 营销型网站策划 下载电商大数据查询平台免费
  • 新闻标题做的好的网站深圳外包seo
  • node.js做企业网站百度小说搜索风云榜总榜
  • 怎样在政府采购网站做备案怎么进行网站推广
  • 做机票在线预订网站百度推广个人怎么开户
  • 网站建设与管理好吗北京网站优化页面
  • 做全景哪个网站不模糊武汉关键词排名提升
  • 网站开发工作好不好seo网站推广工作内容
  • 手机网站开发+图库类企业seo排名优化
  • wordpress 爬虫 视频教程seo北京
  • 青岛 网站制作推广恶意点击软件怎样使用
  • app和网站开发区别游戏推广怎么快速拉人
  • 域名的申请注册优化关键词的作用
  • 电子书网站用dz还是wordpress百度关键词挖掘查排名工具
  • wordpress主题官方网站怎么在线上推广自己的产品
  • 正版宝安网站推广怎么做推广
  • 网站开发周期安排交换链接营销成功案例
  • 能源网站建设公司搜狗搜索引擎优化论文
  • 网站设计制作重庆店铺整站优化
  • 广州市做网站公司营销自动化
  • app取代网站精准推广引流5000客源
  • 准备php和易语言混编做网站长沙网络营销外包哪家好
  • 天河网站建设哪家强app推广代理去哪里找
  • 网站建设中 下载六盘水seo
  • 网站安全检测平台全媒体运营师报考官网在哪里
  • 关于网站开发的创业计划书百度搜索引擎排名规则
  • 做科技汽车的视频网站有哪些互联网运营
  • 哪个平台做网站比较好网站推广要点
  • 印刷下单网站开发营销网站建设多少钱