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

东莞设计企业网站的有哪些开发一个网站做公司内部用

东莞设计企业网站的有哪些,开发一个网站做公司内部用,网站是做响应式还是自适应的好,建设网站要多久到账服务端: Nacos的数据存储接口 com.alibaba.nacos.config.server.service.DataSourceService 有两种实现: 如果指定了mysq 作为数据库,则必须使用 mysql 如果是 集群方式部署Nacos,则必须使用mysql 如果是单例方式部署 并且 没…

服务端:

Nacos的数据存储接口

com.alibaba.nacos.config.server.service.DataSourceService

有两种实现:

如果指定了mysq 作为数据库,则必须使用 mysql 

如果是 集群方式部署Nacos,则必须使用mysql

如果是单例方式部署 并且 没有指定 mysql作为数据库,则使用 Apache derby 数据库(内嵌)

可以使用多个数据库。实例化后 会选择一个可用的数据库作为主库,并启动定时任务 检查数据库健康状态。

Nacos配置中心采用mysql 进行配置持久化,在Nacos服务启动后,会读取配置数据,加载到内存中 并写入磁盘文件。

磁盘文件为:

如果没有指定namespace,则:

/data/config-data/group/ 各种dataId 文件

如果存在指定的namespace,则:

/data/tenant-config-data/namespace/各种dataId 文件

因此,如果是 mysql 不可用,Nacos 会出现启动失败的情况。

如果Nacos启动成功,后续mysql 不可用,那么 配置数据 是可以拿到的,但是 其他需要直接和mysql交互的功能无法使用。这种情况,不影响 客户端使用。只不过 无法更新配置。

客户端:

客户端在启动时,首先会去服务端加载配置:

com.alibaba.cloud.nacos.client.NacosPropertySourceLocator#locate

com.alibaba.cloud.nacos.client.NacosPropertySourceLocator#loadNacosDataIfPresent

加载到配置后,会将配置数据写到Map中:

com.alibaba.cloud.nacos.NacosPropertySourceRepository#NACOS_PROPERTY_SOURCE_REPOSITORY 

在客户端启动完成时,spring boot 会发送一个 事件,ApplicationReadyEvent,

com.alibaba.cloud.nacos.refresh.NacosContextRefresher 会监听该事件。

private void registerNacosListenersForApplications() {if (refreshProperties.isEnabled()) {for (NacosPropertySource nacosPropertySource : NacosPropertySourceRepository.getAll()) {if (!nacosPropertySource.isRefreshable()) {continue;}String dataId = nacosPropertySource.getDataId();registerNacosListener(nacosPropertySource.getGroup(), dataId);}}}

 如上代码,如果 当前的属性配置,支持自动刷新,则会注册一个 监听器。

private void registerNacosListener(final String group, final String dataId) {Listener listener = listenerMap.computeIfAbsent(dataId, i -> new Listener() {// 处理配置更新逻辑});try {// 注册事件监听configService.addListener(dataId, group, listener);}catch (NacosException e) {e.printStackTrace();}}

注册监听器的时候,会把配置项信息 添加到

com.alibaba.nacos.client.config.impl.ClientWorker#cacheMap

客户端会有一个定时任务执行 

com.alibaba.nacos.client.config.impl.ClientWorker#checkConfigInfo

这个定时任务,会定时去nacos服务端检查配置 是否更新,通过MD5比较。

如果配置更新,则会通知 前面注册的listener 去nacos服务端拉取最新的配置,并完成本地配置更新。 

 如果Nacos服务不可用,那么微服务应用会报异常吗?

1. 微服务应用在读取配置时,首先读取的是本地数据。本地数据是存储在 磁盘文件中的。

    public static final String LOCAL_FILEROOT_PATH;public static final String LOCAL_SNAPSHOT_PATH;static {LOCAL_FILEROOT_PATH = System.getProperty("JM.LOG.PATH", System.getProperty("user.home")) + File.separator+ "nacos" + File.separator + "config";LOCAL_SNAPSHOT_PATH = System.getProperty("JM.SNAPSHOT.PATH", System.getProperty("user.home")) + File.separator+ "nacos" + File.separator + "config";LOGGER.info("LOCAL_SNAPSHOT_PATH:{}", LOCAL_SNAPSHOT_PATH);}

基本上不会配置这个JM.XX.XX,所以 配置存储在磁盘中的目录就是 user.home 目录下 

2. 如果本地缓存文件不存在,则读取Nacos配置中心的配置

当读取到配置文件后,会把数据写到本地快照文件中。

因此,如果 nacos服务端不可用,客户端并不影响(前提是 客户端已经读取过文件)

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

相关文章:

  • 工信部网站备案审核php做的网站用什么后台
  • 静态html网站打包成exe建筑人才网app下载
  • 南京做网站建设搭建的公司wordpress 原生相册
  • 广州自助建站西宁微网站建设
  • 1 建设网站目的是什么广点通推广登录入口
  • 社保个人网站入口如何保持网站中的图片
  • 网站防护找谁做湖南城乡住房建设厅网站
  • 旅游网站平台Wordpress虚拟资源交易
  • 开公司如何做网站推广页面安徽合肥做网站的公司有哪些
  • 品牌建设网站特点优质的杭州网站优化
  • 网站建设需求说明书石家庄网站建设燕杰
  • 东莞做公众号的网站常用的小企业网站建设
  • 广州中小企业网站建设wordpress 主题教程 水煮鱼
  • 深圳百度网站建设wordpress 产品相册插件
  • 上海市建设教育网站烟台海阳市专业做网站
  • 自己做网站宣传产品管理的核心是什么
  • 韩雪冬网站找工程承包找哪个平台
  • 东莞做网站做seo优化外包网络公司百度搜索引擎关键词
  • 多语言网站制作建设部网站资质标准
  • 自助建站免费自助建站网站蚌埠市建设学校网站
  • 网站上传文件夹权限wordpress主题免费中文
  • 兔展在线制作网站html网站发布
  • 电子商务网站规划流程中山排名推广
  • 坂田做网站多少钱国产尺码和欧洲尺码表2023
  • 电子商务网站建设教材电子商务如何做网站销售
  • google网站设计原则做网站三大主流框架
  • 目前做网站流行的语言化妆品备案查询
  • 苏州城乡建设网站查询系统扬中经济
  • 沈阳顺天建设集团网站哈尔滨网站建设网站开发
  • 简单房地产网站在哪做网页要花多少钱