怎么套模板做网站建设众筹类网站

news/2025/10/5 12:22:22/文章来源:
怎么套模板做网站,建设众筹类网站,WordPress 大数据,平面设计技能培训班导航引言一、什么是配置中心二、常见的配置中心组件三、Nacos Config 入门四、Nacos Config 动态配置4.1 硬编码方式#xff08;默认支持动态生效#xff09;4.2 属性注入五、配置共享5.1 相同微服务不同环境间共享5.2 不同微服务配置共享六、Nacos Config 的几个概念总结引言… 导航引言一、什么是配置中心二、常见的配置中心组件三、Nacos Config 入门四、Nacos Config 动态配置4.1 硬编码方式默认支持动态生效4.2 属性注入五、配置共享5.1 相同微服务不同环境间共享5.2 不同微服务配置共享六、Nacos Config 的几个概念总结引言 本文介绍 Nacos 作为注册中心的使用方法相关文章《Spring Cloud Alibaba——Nacos实现服务治理》。 一、什么是配置中心 在微服务架构中关于配置信息存在一些问题。 配置文件相对分散不好维护。配置文件不好区分开发、测试、生产环境。配置文件无法实时更新。 针对这些问题引入了配置中心组件其主要思路是 集中配置数据统一管理提供一套标准接口。由各个服务主动拉取配置中心中的配置信息。动态更新。 二、常见的配置中心组件 Apollo 由携程开源的分布式配置中心。特点很多如配置实时生效支持灰度发布功能并能对所有配置进行版本管理、操作审计等功能提供开放平台API文档详尽。Disconf 由百度开源的分布式配置中心底层基于Zookeeper实现配置变更后的实时通知和生效。Spring Cloud Config Spring Cloud 自带的配置中心组件。可以和 Spring 无缝衔接使用方便并且它 配置存储支持Git 。但缺少可视化的操作界面配置也无法实时生效需要重启和刷新。Nacos Spring Cloud Alibaba 技术栈中的一个组件Nacos 除了可以做服务注册中心也兼顾了服务配置中心。 三、Nacos Config 入门 以 Nacos Server 作为 配置中心各个微服务作为客户端将微服务中的配置文件统一存放在 Nacos 上然后各个微服务从 Nacos 上拉取配置。 以 shop-product 微服务为例简单演示下效果。 1、引入 nacos-config 依赖 dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-config/artifactId /dependency2、将配置转移到 Nacos 登录 Nacos 控制台点击新建配置将本地配置粘贴到 Nacos 编辑器中格式选择 yaml。 Data Id 规则 应用名-环境.格式 例如 spring.application.nameservice-product spring.profiles.activedev spring.cloud.nacos.config.file-extensionyaml 那么 data Id 就是 service-product-dev.yaml 3、引入 bootstrap.yml 文件 bootstrap.yml 作为新的引导文件用于拉取 Nacos 上的远程配置信息。 spring boot 配置文件优先级 bootstrap.properties bootstrap.yml application.properties application.yml spring:application:name: service-productprofiles:active: devcloud:nacos:config:server-addr: localhost:8848file-extension: yaml # 配置格式默认是 properties4、测试 启动项目可以正常访问。 四、Nacos Config 动态配置 4.1 硬编码方式默认支持动态生效 硬编码方式通过 Environment 对象提供的 getProperty(key) 来获取配置信息本身就是支持动态更新的。 Autowired private ConfigurableApplicationContext applicationContext;GetMapping(/appName) public String getConfig() {String appName applicationContext.getEnvironment().getProperty(config.appName);return appName; }启动程序请求 appName 接口获取不到任何数据 打开 Nacos Config配置 config.appName 信息并发布 直接重新访问不需要重启即可取得数据 4.2 属性注入 使用 Value(${key}) 的形式完成配置的注入 Value(${config.appName}) private String appName;GetMapping(/appName) public String getConfig() {return appName; }这种方式可以解决硬编码的高耦合问题代码也更优雅是Spring 推荐的使用方式但是这种方式默认是不支持动态刷新配置的需要加入额外的一个类注解——RefreshScope RefreshScope RestController RequestMapping(/config) public class ConfigController {Value(${config.appName})private String appName;GetMapping(/appName)public String getConfig() {return appName;} }五、配置共享 配置共享旨在解决重复配置项的问题。Nacos 支持配置共享即可以将大家都有的重复配置项提取到共享配置中。 5.1 相同微服务不同环境间共享 相同微服务的不同环境的公共配置只需要在配置的 Data Id 上去掉诸如 -dev 等环境标识即可。 例如dev 环境的配置是 service-product-dev.yaml test 环境的配置是 service-product-test.yaml那么公共配置就可以是 service-product.yaml。 把公共的配置信息全部移动到 service-product.yaml 中service-product-dev.yaml 或 service-product-test.yaml 只保留环境特定的配置项即可。 5.2 不同微服务配置共享 可以单独提取一个公共配置例如dataId -- all-service.yaml 然后在各个微服务的 bootstrap.yaml 中加入如下配置 spring:cloud:nacos:config:# ...其他配置...shared-dataids: all-service.yaml # 公共配置refreshable-dataids: all-service.yaml # 动态刷新的配置文件测试以下几个问题 通过shared-dataids引入的公共配置是否可以在不同的微服务之间生效通过shared-dataids引入的公共配置是否可以做到相同微服务不同环境的切换通过refreshable-dataids 表示的 dataId是否可以在不使用 RefreshScope 注解的情况下直接刷新指定配置文件不仅是公共也可能是私有配置的配置项shared-dataids 和 refreshable-dataids 都是复数形式如何配置多个 dataId 在 Nacos Config Server 上指定三个配置文件all-service.yaml、service-product-dev.yaml 和 service-product-test.yaml。它们的配置信息如下 all-service.yaml server:port: 8081tomcat:max-threads: 5 spring:application:name: service-productdatasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/shop?serverTimezoneUTCuseUnicodetruecharacterEncodingutf-8rewriteBatchedStatementstrueusername: rootpassword: 123456cloud:nacos:discovery:server-addr: localhost:8848jpa:properties:hibernate:hbm2ddl:auto: update#InnoDB方言dialect: org.hibernate.dialect.MySQL5InnoDBDialectservice-product-dev.yaml config:appName: productenv: devservice-product-test.yaml config:appName: productenv: test本地 bootstrap.yaml 配置 spring:application:name: service-productprofiles:active: devcloud:nacos:config:server-addr: localhost:8848file-extension: yaml # 配置格式默认是 propertiesshared-dataids: all-service.yaml # 公共配置refreshable-dataids: all-service.yaml # 动态刷新的配置文件测试代码 RestController RequestMapping(/config) public class ConfigController {Value(${config.appName})private String appName;Value(${config.env})private String env;GetMapping(/env)public String getConfig() {return env;} }启动成功说明可以获取公共配置且访问测试接口可以拿到配置信息 修改本地 bootstrap.yaml 配置信息activetest重新启动也可以拿到对应的test环境的配置信息 对于自动刷新问题 对于 refreshable-dataids 配置只针对公共配置有效。自动刷新的生效规则如下 环境配置 必须使用 RefreshScope 的方式动态生效且不需要增加其他额外配置 公共配置 不仅要使用 RefreshScope还要增加 refreshable-dataids 令其支持自动刷新 如果想引入多个共享配置可以使用逗号分隔 spring:cloud:nacos:config:shared-dataids: all-service.yaml,common.yaml # 公共配置refreshable-dataids: all-service.yaml,common.yaml # 动态刷新的配置文件六、Nacos Config 的几个概念 1、命名空间Namespace 命名空间可用于进行不同环境的配置隔离。一般一个环境划分到一个命名空间。 可以在 Nacos 上新建命名空间 若希望引用不同命名空间的配置可以在 bootstrap.yaml 中加入 namespace: 命名空间ID : spring:cloud:nacos:config:namespace: 835f29bd-4cf8-4bd7-9ace-462a69643bd42、配置分组Group 配置分组可以将不同的服务归类到同一个分组。一般以项目为单位这个项目下的所有微服务的配置放到同一个组。 3、配置集Data ID 在系统中一个配置文件通常就是一个配置集。一般微服务的配置就是一个配置集。 总结 如何使用Nacos 配置中心只需要在项目本地引入 bootstrap.yaml 文件并配置如下信息就可以拉取 Nacos Config Server 上的远程配置 spring:application:name: service-productprofiles:active: testcloud:nacos:config:server-addr: localhost:8848 # Nacos 地址file-extension: yaml # 配置格式默认是 properties关于共享配置经过实际测试有以下几点重要规则 1、同一微服务公共配置项可直接以 ${spring.application.name}.yaml 来命名 DataId视为共享配置。 1、在本地的 bootstrap.yaml 中使用 shared-dataids 和 refreshable-dataids 来指定共享配置 2、多共享配置的格式注意引号shared-dataids: ‘all-service.yaml,common.yaml’ 3、refreshable-dataids 用于设置共享配置是否支持动态刷新至于要不要动态刷新还需要使用 RefreshScope 。也就是说如果希望共享配置动态刷新不仅要指定 refreshable-dataids还需要配置 RefreshScope。 4、环境配置的动态刷新只受 RefreshScope 影响不需要额外指定 refreshable-dataids。 5、配置重复问题。多个共享配置都包含重复的配置项则以 bootstrap.yaml 中 shared-dataids 配置项靠后的共享配置为准。如两个共享配置 all.yaml 和 common.yaml都包含 appName 配置项如果 shared-dataids‘all.yaml,common.yaml’则以 common.yaml 中的配置信息为准。 共享配置和环境配置的配置项重复以环境配置的配置项为准。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/928240.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深圳图派做的网站后台加什么做网站用win2008系统

作为DBA工作中都会遇到过数据库服务器CPU飙升的场景,我们该如何快速定位问题?又该如何快速找到具体是哪个SQL引发的CPU异常呢?下面我们说两个方法。聊聊MySQL中如何快速定位占用CPU过高的SQL。 技术人人都可以磨炼,但处理问题的思…

CPP中CAS std::chrono 信号量与Any类的手动达成

CPP中CAS std::chrono 信号量与Any类的手动达成2025-10-05 12:14 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display:…

网站开发公司的销售方式找客户在公司做网站

1 题目: 对于一个给定的链表,返回环的入口节点,如果没有环,返回null 拓展: 你能给出不利用额外空间的解法么? 代码: class Solution { public:ListNode *detectCycle(ListNode *head) {} …

网站怎么做301跳转网站标题作弊详解

使用这个bundle的例子:键入ready然后按tab就会生成下面的代码:$(document).ready(function() { }); 其中第二行被选中,这时在里面编写jquery代码即可. 如果要查看某个function的官方文档的话可以在键入的function之后使用快捷键ctrlh 查看. 关于bundle的下载 这里是一个textmat…

python中使用高并发分布式队列库celery的那些坑 - 指南

python中使用高并发分布式队列库celery的那些坑 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas&q…

实用指南:Appium如何支持ios真机测试

实用指南:Appium如何支持ios真机测试pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mona…

在AI技术唾手可得的时代,挖掘新需求成为核心竞争力——某知名计算机控制AI框架需求洞察

本文基于某知名计算机控制AI框架的文档和用户反馈,深入分析其核心功能特性和使用方式,并挖掘出用户提出的关键新需求,为产品迭代提供重要参考方向。a.内容描述核心功能定位:该项目是一个开源的智能GUI代理框架,旨…

无人机桥梁3D建模、巡检、检测的航线规划 - 详解

无人机桥梁3D建模、巡检、检测的航线规划 - 详解2025-10-05 12:03 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display…

低代码——表单生成器Form Generator详解(二)——从JSON配备项到动态渲染表单渲染

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Codeforces Round 1040 (Div. 1)

VP Codeforces Round 1040 (Div. 1),从中间开始做,一道都没有写完。我发现做 CF 上的题目(特别是前面的题)一定不要想的太深,要快速切换多种思路考虑A. Double Perspective 题解 skip 完整代码点击查看代码 #incl…

如何生成网站的二维码wordpress get_attached_media

1.MTE概念 MTE(内存标记扩展)是ARM v8.5-A新增的一项缓解内存安全的机制。在Android Linux现有的安全机制中,类似的机制有ASAN、HWSAN。但两者因为性能开销代价高昂,不适用于广泛部署(仅调试使用)。MTE当前…

实用指南:1039 Course List for Student

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

邢台wap网站建设开发html网页的软件有哪些

对泛型的一个自我理解 泛型的使用&#xff0c;实际上就像一个占位符一样&#xff0c; 我先预定义一个类型&#xff0c;这个类型具体是啥只有在真正使用的时候才知道。从某种角度来看&#xff0c;泛型很像这个 any 类型啊。泛型的定义语法 泛型的定义使用 <T> 的方式来定…

2025十一集训——Day3做题

A vjudge CF题意:一个图,选择一个回答,\(k/2\) 的独立集或者不大于 \(k\) 的环。考虑 \(k=n\) 如果是树直接黑白染色,否则必有环。 然后考虑出题人:“保证有解”,所以直接去一个 \(k\) 的联通块,按照 \(k=n\) 正…

国外服务器做视频网站做网站做软件怎么赚钱

题目大意是&#xff1a; 从n*n的方格角落的一个起点出发&#xff0c;每次移到上下左右一个未曾到达过的位置&#xff0c;谁不能走了谁就输了 想了好久都想不出&#xff0c;看了大神的题解 Orz了 果然博弈不是脑残的游戏啊... 这里从起点出发&#xff0c;将所有方格两两连接&…

目标检测任务的评估指标P-R曲线 - 指南

目标检测任务的评估指标P-R曲线 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mon…

abc426 题解

abc426 题解 abc426 赛时 ABCD,E 被卡精度卡了30min,21:41 改为 long double 过了 /ll A 水题,懒得写 B 同上 C 拿树状数组硬跑,每次记录当前的 \(x\) 的最大值(即当前序列最大值) for(int i = 1; i <= n; i…

运行npp并打开实时双向同步的今日日记纯文本文档 2025年10月5日

运行npp并打开实时双向同步的今日日记纯文本文档 2025年10月5日; 运行npp并打开实时双向同步的今日日记纯文本文档 ; 文件名:D:\APP\npp\npp-ahk.ahk ; 运行环境:AutoHotkey v1.1.37.02 ,Microsoft Windows 10 版本…

石家庄网站建设云图大连网站程序开发

import collections import re from d2l import torch as d2l解析文本的常见预处理步骤&#xff1a; 将文本作为字符串加载到内存中。 将字符串拆分为词元&#xff08;如单词和字符&#xff09;。 建立一个词表&#xff0c;将拆分的词元映射到数字索引。 将文本转换为数字索…

完整教程:python学习打卡day43

完整教程:python学习打卡day43pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&quo…