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

网站建设如何传视频国外优秀购物网站设计

网站建设如何传视频,国外优秀购物网站设计,轮网站开发的重要性,网站营销优化目录 Nacos配置中心 配置中心存在的必要性 Nacos的使用 添加配置 获取配置 编写程序读取配置 修改配置中心的配置并发布 Data ID 服务部署 Nacos和Eureka的区别 Nacos配置中心 除了注册中⼼和负载均衡之外, Nacos还是⼀个配置中心, 具备配置管理的功能. Namespace 的…

目录

Nacos配置中心

配置中心存在的必要性

Nacos的使用

添加配置

获取配置

编写程序读取配置

修改配置中心的配置并发布

Data ID

服务部署

Nacos和Eureka的区别


Nacos配置中心

除了注册中⼼和负载均衡之外, Nacos还是⼀个配置中心, 具备配置管理的功能.
Namespace 的常⽤场景之⼀是不同环境的配置区分隔离. 例如开发测试环境和⽣产环境的配置隔离。

配置中心存在的必要性

当前项⽬的配置都在代码中, 会存在以下问题:

1. 配置⽂件修改时, 服务需要重新部署. 微服务架构中, ⼀个服务可能有成百个实例, 挨个部署⽐较麻烦, 且容易出错.
2. 多⼈开发时, 配置⽂件可能需要经常修改, 使⽤同⼀个配置⽂件容易冲突.

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

1. 服务启动时, 从配置中⼼读取配置项的内容, 进⾏初始化.
2. 配置项修改时, 通知微服务, 实现配置的更新加载.

Nacos的使用
添加配置

注意: 配置管理的命名空间和服务列表的命名空间是隔离的, 两个是分别设置的. 默认是public
也就是服务管理命名空间配置 ≠ 配置管理的命名空间

新建配置项

说明:

1. Data ID 设置为项⽬名称
2. 配置内容的数据格式, ⽬前只⽀持 properties 和 yaml 类型
3. 设置配置内容

获取配置

引入Nacos Config依赖

        <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>

配置bootstrap.properties

微服务启动前, 需要先获取nacos中配置, 并与application.yml配置合并. 在微服务运⾏之前, Nacos要求必须使⽤ bootstrap.properties 配置⽂件来配置Nacos Server 地址和命名空间。

spring.application.name=product-service
spring.cloud.nacos.config.server-addr=47.98.109.138:8848

spring.cloud.nacos.config.namespace=29e05465-894c-48dc-8ed9-37e6a6a0eed9

或者使用bootstrap.yml

spring:cloud:nacos:discovery:server-addr: 47.98.109.138:8848config:server-addr: 47.98.109.138:8848namespace: 29e05465-894c-48dc-8ed9-37e6a6a0eed9

             

注意 

spring.application.name 需要和nacos配置管理的Data ID⼀致.
spring.cloud.nacos.config.server-addr 为Nacos Server的地址.

 配置中⼼和注册中⼼的配置是隔离的
Nacos 配置中⼼: spring.cloud.nacos.config.server-addr
Nacos 注册中⼼: spring.cloud.nacos.discovery.server-addr

编写程序读取配置
package product.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class NacosController {@Value("${nacos.config}")private String nacosConfg;@RequestMapping("/getConfig")public String getConfig(){return "从Nacos获取配置项nacos.config:"+nacosConfg;}
}

运行结果:

修改配置中心的配置并发布

再次读取配置:

此时我们发现从配置中心读取到的配置并没有发生改变。

如果需要配置中心的配置修改了,立刻就能读取到,需要添加一个注解:@RefreshScope

修改后的代码

package product.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;@RefreshScope
@RestController
public class NacosController {@Value("${nacos.config}")private String nacosConfg;@RequestMapping("/getConfig")public String getConfig(){return "从Nacos获取配置项nacos.config:"+nacosConfg;}
}

再次读取配置:

再次修改配置中心的配置并读取:

Data ID

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

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

说明: 

• prefix 默认为 spring.application.name 的值, 也可以通过配置项
spring.cloud.nacos.config.prefix 来配置.
• spring.profiles.active 即为当前环境对应的 profile. 当 spring.profiles.active
为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${fileextension}
• file-exetension 为配置内容的数据格式,可以通过配置项
spring.cloud.nacos.config.file-extension 来配置。⽬前只⽀持 properties
和 yaml 类型. 默认为properties.

微服务启动时, 会从Nacos读取多个配置⽂件:

1. ${prefix}-${spring.profiles.active}.${file-extension} 如: product-service-dev.properties
2. ${prefix}.${file-extension} , 如: product-service.properties
3. ${prefix} 如product-service

观察项目启动后的日志:

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

在bootstrap.yml中添加以下内容:

spring:profiles:active: dev

在Nacos配置中心添加三个配置,Data ID分别为:product-service,product-service.properties,product-service-dev.properties。

此时进行读取配置:

如果删掉Data ID为product-service-dev.properties的配置后,再次读取配置:

如果删掉Data ID为product-service.properties的配置后,再次读取配置:

由此可知:

三个⽂件的优先级为: product-service-dev.properties > product-service.properties > product-service

注意

1. bootstrap.yml 设置的配置格式必须和nacos控制台配置的数据格式保持⼀致.
2. 不设置配置格式(spring.cloud.nacos.config.file-extension)时, 默认为properties

服务部署

在配置不同环境的application.yml文件后,在启动项目时,可能会遇到以下报错:

解决方法:在pom.xml文件中的<build></build>中添加以下信息:

<resources><resource><directory>src/main/resources</directory><filtering>true</filtering><includes><include>**/**</include></includes></resource>
</resources>

1. 修改数据库, Nacos等相关配置
2. 对两个服务进⾏打包
3. 上传jar到Linux服务器
4. 启动Nacos
启动前最好把data数据删除掉.
5. 启动服务

#后台启动order-service, 并设置输出⽇志到logs/order.log
nohup java -jar order-service.jar >logs/order.log &


#后台启动product-service, 并设置输出⽇志到logs/order.log
nohup java -jar product-service.jar >logs/product-9090.log &


#启动实例, 指定端⼝号为9091
nohup java -jar product-service.jar --server.port=9091 >logs/product-9091.log & 

启动好服务后访问:

Nacos和Eureka的区别

二者都支持服务注册和服务拉取。

区别

1.架构和工作原理

Eureka:Eureka是Netflix开发的一款基于REST的服务注册与发现组件,广泛应用于基于Spring Cloud构建的微服务架构中。Eureka包含Eureka Server(服务注册中心)和Eureka Client(服务实例)。Eureka Server负责维护服务注册表,使得各个分布式服务能够相互发现并进行通信。Eureka Client则负责服务的注册、续约、心跳发送和注销等操作。Eureka通过Replicate进行数据同步,确保所有Eureka Server中的注册信息一致。


Nacos:Nacos是阿里巴巴开源的一款服务发现、配置和管理微服务的中间件。Nacos不仅支持服务注册与发现,还提供了动态配置管理和服务元数据管理等功能。Nacos支持基于DNS和基于RPC的服务发现,并提供了对服务的实时健康检查功能。

2.阈值和自我保护

Eureka:Eureka具有自我保护模式,当网络分区故障发生时,Eureka Server会进入自我保护状态,防止因网络波动导致的正常服务实例被误剔除。Eureka的自我保护阈值是针对所有服务的。


Nacos:Nacos的阈值是针对某个具体Service的,而不是针对所有服务。此外,Nacos支持CP(一致性)和AP(可用性)两种模式,可以根据配置识别并应用相应的模式。

3.连接和健康检查

Eureka:Eureka使用短连接,服务实例定时向Eureka Server发送心跳以更新其服务状态。Eureka只支持心跳模式的健康检查。


Nacos:Nacos使用Netty实现长连接,支持更高效的通信。对于临时实例,Nacos采用心跳模式检测健康状态;对于永久实例,则采用主动请求来检测健康状态。

4.服务发现模式

Eureka:Eureka只支持定时拉取模式的服务发现,即服务消费者定时从Eureka Server拉取服务注册表信息。


Nacos:Nacos支持定时拉取和订阅推送两种模式的服务发现。服务消费者可以选择订阅推送模式,以便在服务注册表发生变化时及时获得通知。

5.实例类型

Eureka:Eureka只支持临时实例,即服务实例的注册信息会随着心跳的停止而被自动注销。


Nacos:Nacos支持永久实例和临时实例两种类型。永久实例需要手动注销,而临时实例则会在心跳停止后被自动注销。

6.功能扩展

Eureka:Eureka专注于服务注册与发现,虽然功能强大且易于集成到Spring Cloud中,但在动态配置管理和服务元数据管理方面相对较弱。


Nacos:Nacos不仅提供了服务注册与发现功能,还集成了动态配置管理和服务元数据管理等功能。这使得Nacos在微服务架构中能够扮演更加全面的角色。  

7.CAP理论

 Eureka遵循AP原则, Nacos可以切换AP和CP模式,默认AP。
Nacos 根据配置识别CP或者AP模式. 如果注册Nacos的Client的节点是临时节点, 那么Nacos对这个Client节点的效果就是AP, 反之是CP. AP和CP可以同时混合存在。

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

相关文章:

  • 大丰城乡建设局网站wordpress底部黑色的版权修改
  • WPF之布局
  • AD9361通信平台--AGC 原理(二)
  • 网站制作费用入什么科目龙文国土局漳滨村新农村建设网站
  • 社交网站 设计wordpress设计笔记
  • C_OBJ#_INTCOL#坏块导致数据库无法open故障处理---惜分飞
  • 如何建设网站 知乎图书馆网站建设的意义
  • 网站综合营销方案企业营销策略分析论文
  • 企业建站公司哪里找认养农业app模式定制开发
  • 网站建设前端技术网站关键词优化排名怎么做
  • 两个男生如何做网站代理网页是干什么的
  • 做app模板网站有哪些内容南沙高端网站建设
  • 红酒公司的网站建设WordPress插件手动
  • Agentic RL: 大模型后训练 SFT、PPO和GRPO
  • 织梦城市门户网站模板廊坊优化外包
  • 有些网站做不了seo背景视频素材下载免费
  • 聊城专业做网站怎样在华为云服务器里建设网站
  • 做网站为什么要用源码跳舞游戏做的广告视频网站
  • 网站建设的常用软件有哪些企业网站开发需求分析
  • 做商务网站住房与城乡建设部网站建造师
  • zk详细问题
  • 做任务得得q币的网站应用公园制作app教程视频
  • 【Linux】输入输出管理
  • 做购物网站的初衷建设网站有哪些好处和坏处
  • 从stc8g1k08+433MHZ无线点亮led 到stc8k1k17+433MHZ唯一配对并点亮小灯(过程问题总结)
  • 区域综合实验
  • 环保网站建设多少钱安徽池州建设厅网站
  • 搅拌机东莞网站建设技术支持河北邯郸特色美食
  • 将有序数组转换为二叉搜索树
  • 长春做网站公司长春seo公司网页设计师培训费用图片