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

手机网站制作费网页设计的基本原则是什么

手机网站制作费,网页设计的基本原则是什么,东莞公司的网页怎么做的,做门户网站需要学什么软件5.8 Nacos 配置中心 5.8.1 为什么需要配置中心? 举一个很简单的例子,小时候上小学班级搞了快乐晚会,会有抽奖环节,类似于下述这样的抽奖卡片: 难道这个抽奖券每个礼品是不同的,每个都需要重新画一张吗&am…

5.8 Nacos 配置中心

5.8.1 为什么需要配置中心?

举一个很简单的例子,小时候上小学班级搞了快乐晚会,会有抽奖环节,类似于下述这样的抽奖卡片:

在这里插入图片描述

难道这个抽奖券每个礼品是不同的,每个都需要重新画一张吗?

其实没必要,把固定的东西提取出来就可以了,比如说,抽奖券 是标题,不会变,活动名称 快乐晚会,也不会变,学校名称 快乐小学也不会变,有效期也不大会变。

所以把上面不会变的配置提取出来,提前印刷好,只需要往里面填写不同的中奖内容就 ok了。

就类似,把公共的配置提取出来放到配置中心去,每个服务独属的配置就自己编写。

因为每个服务都有自己的 yml 配置文件,如果有 1000 个服务呢?都要去写一些重复的配置项吗?不如放到配置中心去,每次先获取共同的配置项,各个服务只需要维护自己独属的一份配置文件就够了。

配置中心就是对这些配置项进行统⼀管理。通过配置配置中,可以集中查看,修改和删除配置,无需再逐个修改配置文件。提高效率的同时,也降低了出错的风险。

在这里插入图片描述

这样一来的好处呢,服务启动时,从配置中心获取配置,进行初始化,配置项修改时,配置中心通知微服务,实现配置的更新加载。

5.8.2 快速使用配置中心

在 Nacos 控制面板添加配置:

在这里插入图片描述

此处是在 PROD 命名空间创建的配置,也就是说只有 namespace 配置 ID 为 PROD 才能使用这个配置,具体目前项目中只有 cook-service 可以获取到这个配置,因为这里的 DataID 要与服务 name 对应,当然此处是这样的,等后面讲 DataID 的格式时就明白了。当然你也可以在 public 命名空间中进行创建配置。

在要获取 Nacos 配置中心的配置的项目中引入 Nacos Config 依赖

此处只在 cook-service 项目中演示。

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- SpringCloud 2020.*之后版本需要引⼊bootstrap--> 
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

在 cook-service 项目中新建并配置 bootstrap.yml 文件

微服务启动前,是先从 Nacos 配置中心获取配置,然后与项目自己的 application.yml 配置文件合并,在微服务运行之前,Nacos 要求必须使用 bootstrap.yml 配置文件来配置 Nacos Server 地址,也可以使用 bootstrap.properties。

spring:application:name: cook-service  # 需要和 Nacos 配置管理的 DataID ⼀致cloud:nacos:config:server-addr: 127.0.0.1:8848  # Nacos 的地址namespace: PROD  # 配置空间的 namespace 要和 注册中心的 namespace 分开配置

注意,此处的配置中心和注册中心配置项是隔离的:

Nacos配置中⼼: spring.cloud.nacos.config.server-addr

Nacos注册中⼼: spring.cloud.nacos.discovery.server-addr

编写程序使用配置中心

package com.zlcode.cook.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/config")
@RefreshScope  // 配置进⾏热更新,可以感知到配置中心配置的变化。
public class NacosConfigController {@Value("${nacos.config.prod.num}")  // 读取配置private Integer num;@RequestMapping("/num")public Integer num() {return num;}
}

运行 cook-service 项目,浏览器输入:http://127.0.0.1:8080/config/num

在这里插入图片描述

返回的就是 Nacos 配置中心的内容,现在修改 Nacos 配置中心的内容,但是不重新启动 cook-service 服务,看看到底能否热更新感受到配置中心配置的变化。

在这里插入图片描述

将 Nacos 配置中心修改成 999 重新发布,然后再去浏览器输入:http://127.0.0.1:8080/config/num

在这里插入图片描述

不出所料,看来这里的热更新实现了,也就是我们前面说的:服务启动时,从配置中心获取配置,进行初始化,配置项修改时,配置中心通知微服务,实现配置的更新加载。

5.8.3 配置中心的 Data Id

上面咱们说,配置中心的 DataId 与 服务 name 一致,其实还有其他的写法。

在 Nacos Spring Cloud 中,DataId 的完整格式如下:

${prefix}-${spring.profiles.active}.${file-extension}
  • prefix 默认为 spring.application.name 这也就是为什么说与服务的 name 一致了。
  • spring.profiles.active 为当前环境对应的 profile,当 spring.profiles.active 为空时,中间的连接符也就不存在了。DataId 的格式变为: ${prefix}.${file-extension}
  • file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。也就是说要从配置中心读哪种数据格式的配置。目前只⽀持 properties 和 yaml类型。默认为properties。

在服务启动的时候,会从 Nacos 读取多个配置文件,分别是如下三个:

${prefix}-${spring.profiles.active}.${file-extension}

例如:cook-service-dev.properties

${prefix}.${file-extension}

例如:cook-service.properties

${prefix}

例如:cook-service

注意!

${spring.application.name}, ${spring.profiles.active} 等通过配置文件来指定时,必须配置在 bootstrap.yml 或 properties 文件中

下面咱们就到 Nacos 配置中心去添加上前面两种配置:

在这里插入图片描述

再去配置 bootstrap.yml 文件:

spring:application:name: cook-service  # 需要和 Nacos 配置管理的 DataID ⼀致cloud:nacos:config:server-addr: 127.0.0.1:8848  # Nacos 的地址namespace: PROD  # 配置空间的 namespace 要和 注册中心的 namespace 分开配置profiles:active: prod# 由于 file-extension 默认是 properties 咱们配置中心的文件类型也是 properties, 这里就不用配置了

启动 cook-service 服务,观察控制台日志打印:

在这里插入图片描述

发现确实读取了三个 Nacos 配置中心的配置文件。

那么到现在 Nacos 基本功能就介绍完了。主要内容有 Nacos 的服务注册和发现,Nacos 的服务下线,Nacos 的负载均衡策略,Nacos 的健康检查机制,Nacos 的环境隔离,Nacos 的配置中心。

5.9 Nacos 和 Eureka 的区别

功能上:

Nacos 除了提供服务发现和注册之外,还提供了配置中心,流量管理,负载均衡等功能。

CAP理论:

Eureka 遵循 AP 原则,Nacos 可以切换 AP 和 CP,默认是 AP。

服务发现:

Eureka 基于拉的模式,注册到 Eureka 的客户端会定期从 Eureka Server 拉取服务信息,有缓存,默认30秒拉取一次。

Nacos 基于推送模式,服务列表有变化实时推送给注册的客户端,服务端和注册端必须保持心跳连接。

http://www.dtcms.com/a/433399.html

相关文章:

  • 个人微网站怎么做网络服务是什么
  • 网站建设需求登记表 免费下载wordpress动态标签
  • 文化建设 设计公司网站做相册哪个网站好用吗
  • 怎样建网站 阿里云如何检测网站是否安全
  • 凯里网络公司建设网站一般通过什么查看天气预报
  • 优惠券网站怎么搭建做移动网站优化优
  • 做网站该去哪找客户高级网站开发
  • 学生网站建设可行性分析用php做的网站软件
  • 北京seo课程温州优化推广
  • 用什么做网站开发聊城网站设计公司
  • 精准扶贫网站建设的意义丫丫影院
  • 弄个网站需要多少钱自己有了域名 怎么做网站
  • 个人博客网站logo极速网站开发
  • 网站企业备案素材中国官网
  • wordpress好用的编辑器代码平度网站整站优化外包公司
  • 武大网站建设asp网站程序
  • 网站建设论文模板人才招聘网站模板html
  • 兰州网站的建设wordpress网站怎么加速
  • 建一个信息 类网站网页制作技术基础教程
  • 怎么给网站的照片做超级链接平台公司名字大全
  • 黄石建设信息网站南宁制作网站企业
  • 网站备案个人使用上海发布微信公众号
  • 购物网站要求百度优化
  • 大连开发区做网站的公司安平县外贸网站建设
  • 开源网站 做镜像 如何做做网站练手
  • 如果做网站接口怎么制作链接
  • 苏州怎么做网站手机版 演示 网站 触摸
  • 宜昌建设网站公司广告推广的好处
  • 成都微信网站建设报价如何编写一个网站
  • 本溪北京网站建设工信部网站备案信息查询