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

织梦本地网站建设教程wordpress常见问题

织梦本地网站建设教程,wordpress常见问题,网站管理与维护的优势,推广引流黑科技文章目录 前提设计内部实现单机寻址文件寻址地址服务器寻址 前提 对于集群模式#xff0c;集群内的每个Nacos成员都需要相互通信。因此这就带来一个问题#xff0c;该以何种方式去管理集群内部的Nacos成员节点信息#xff0c;即Nacos内部的寻址机制。 设计 要能够感知到节… 文章目录 前提设计内部实现单机寻址文件寻址地址服务器寻址 前提 对于集群模式集群内的每个Nacos成员都需要相互通信。因此这就带来一个问题该以何种方式去管理集群内部的Nacos成员节点信息即Nacos内部的寻址机制。 设计 要能够感知到节点的变更情况节点是增加了还是减少了当前最新的成员列表信息是什么以何种方式去管理成员列表信息如何快速的支持新的、更优秀的成员列表管理模式等等。 针对上述需求点我们抽象出了一个 MemberLookup 接口具体设计如下 public interface MemberLookup {/*** start.** throws NacosException NacosException*/void start() throws NacosException;/*** Inject the ServerMemberManager property.** param memberManager {link ServerMemberManager}*/void injectMemberManager(ServerMemberManager memberManager);/*** The addressing pattern finds cluster nodes.** param members {link Collection}*/void afterLookup(CollectionMember members);/*** Addressing mode closed.** throws NacosException NacosException*/void destroy() throws NacosException; }ServerMemberManager 存储着本节点所知道的所有成员节点列表信息提供了针对成员节点的增删改查操作同时维护了一个 MemberLookup 列表方便进行动态切换成员节点寻址方式。 可以看到MemberLookup 接口非常简单核心接口就两个—— injectMemberManager 以及 afterLookup 前者用于将 ServerMemberManager 注入到 MemberLookup 中方便利用 ServerMemberManager 的存储、查询能力后者 afterLookup 则是一个事件接口当 MemberLookup 需要进行成员节点信息更新时会将当前最新的成员节点列表信息通过该函数进行通知给 ServerMemberManager具体的节点管理方式则是隐藏到具体的 MemberLookup 实现中。 内部实现 单机寻址 com.alibaba.nacos.core.cluster.lookup.StandaloneMemberLookup 单机模式的寻址模式很简单其实就是找到自己的IP:PORT组合信息然后格式化为一个节点信息调用afterLookup 然后将信息存储到 ServerMemberManager 中。 public class StandaloneMemberLookup extends AbstractMemberLookup {Overridepublic void start() {if (start.compareAndSet(false, true)) {String url InetUtils.getSelfIp() : ApplicationUtils.getPort();afterLookup(MemberUtils.readServerConf(Collections.singletonList(url)));}} }文件寻址 com.alibaba.nacos.core.cluster.lookup.FileConfigMemberLookup 文件寻址模式是 Nacos 集群模式下的默认寻址实现。文件寻址模式很简单其实就是每个 Nacos 节点需要维护一个叫做 cluster.conf 的文件如下; 192.168.16.101:8847 192.168.16.102 192.168.16.103该文件默认只需要填写每个成员节点的 IP 信息即可端口会自动选择 Nacos 的默认端口 8848如果说有特殊需求更改了 Nacos 的端口信息则需要在该文件将该节点的完整网路地址信息补充完整IP:PORT 当 Nacos节点启动时会读取该文件的内容然后将文件内的 IP 解析为节点列表调用 afterLookup 存入ServerMemberManager 。 private void readClusterConfFromDisk() {CollectionMember tmpMembers new ArrayList();try {ListString tmp ApplicationUtils.readClusterConf();tmpMembers MemberUtils.readServerConf(tmp);} catch (Throwable e) {Loggers.CLUSTER.error(nacos-XXXX [serverlist] failed to get serverlist from disk!, error : {}, e.getMessage());}afterLookup(tmpMembers); }如果发现集群扩缩容那么就需要修改每个 Nacos 节点下的 cluster.conf 文件然后 Nacos 内部的文件变动监听中心会自动发现文件修改重新读取文件内容、加载 IP 列表信息、更新新增的节点。 private FileWatcher watcher new FileWatcher() {Overridepublic void onChange(FileChangeEvent event) {readClusterConfFromDisk();}Overridepublic boolean interest(String context) {return StringUtils.contains(context, cluster.conf);} };public void start() throws NacosException {if (start.compareAndSet(false, true)) {readClusterConfFromDisk();// Use the inotify mechanism to monitor file changes and automatically// trigger the reading of cluster.conftry {WatchFileCenter.registerWatcher(ApplicationUtils.getConfFilePath(), watcher);} catch (Throwable e) {Loggers.CLUSTER.error(An exception occurred in the launch file monitor : {}, e.getMessage());}} }默认寻址模式有一个缺点——运维成本较大可以想象下当你新增一个 Nacos 节点时需要去手动修改每个 Nacos 节点下的 cluster.conf 文件这是多么辛苦的一件工作或者稍微高端一点利用 ansible 等自动化部署的工具去推送 cluster.conf 文件去代替自己的手动操作虽然说省去了较为繁琐的人工操作步骤但是仍旧存在一个问题——每一个 Nacos 节点都存在一份 cluster.conf 文件如果其中一个节点的 cluster.conf 文件修改失败就造成了集群间成员节点列表数据的不一致性因此又引申出了新的寻址模式——地址服务器寻址模式。 地址服务器寻址 com.alibaba.nacos.core.cluster.lookup.AddressServerMemberLookup 地址服务器寻址模式是 Nacos 官方推荐的一种集群成员节点信息管理该模式利用了一个简易的 web 服务器用于管理 cluster.conf 文件的内容信息这样运维人员只需要管理这一份集群成员节点内容即可而每个Nacos 成员节点只需要向这个 web 节点定时请求当前最新的集群成员节点列表信息即可。 因此通过地址服务器这种模式大大简化了 Nacos 集群节点管理的成本同时地址服务器是一个非常简单的 web 程序其程序的稳定性能够得到很好的保障。
http://www.w-s-a.com/news/829184/

相关文章:

  • 免费企业网站源码下载学服装设计需要什么条件
  • 淘宝网站开发方式深圳平面设计公司排名榜
  • 品牌网站建设收费情况登陆页面模板
  • 十大免费cms建站系统介绍科技网站欣赏
  • 自学做网站需要多久semir是什么品牌
  • 南通网站搜索引擎优化网站首页seo关键词布局
  • 东莞市国外网站建设多少钱wordpress 多媒体插件
  • c2c商城网站建设公司做水果生意去哪个网站
  • 做网站服务器有哪些电子商务网站建立
  • 网站开发的具体流程原材料价格查询网站
  • 深圳响应式网站建设深圳网站建设定制开发 超凡科技
  • 网站建设报价怎么差别那么大wordpress产品属性搭配
  • 高校网站建设情况报告范文pc建站网站
  • 做网站美工要学什么广东省建设厅网站首页
  • 深圳网站设计十年乐云seo网站建设 竞赛 方案
  • 新乡移动网站建设wordpress输出某一分类的文章
  • 花店网站开发设计的项目结构重庆网站建设培训班
  • 做网站的技术体系投资者互动平台官网
  • 北京网站建设公司哪家实惠企查查在线查询入口
  • 毕业设计做网站怎么样非微信官方网页自己做的网站
  • 昆明网站多端小程序设计重庆市住房和城乡建设厅网站
  • 网站制作技术人员国际新闻最新10条
  • 做同城特价的网站wordpress后台能修改模板文件
  • 网站信息可以边建设边组织产品展示网站源码php
  • 电子商务网站规划从哪些方面入手途牛企业网站建设方案
  • 莱阳网站定制易语言可以做网站嘛
  • 购物网站开发意义上海中小企业服务中心官网
  • 网站备案证书如何打开江苏网站建设电话
  • 深圳网站建设乐云seo搜索引擎优化seo目的
  • 中山城市建设集团网站网站建设设计基础