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

网站开发环境配置做一个信息网站多少钱

网站开发环境配置,做一个信息网站多少钱,go网站做富集分析,上海通信管理局网站Zookeeper 是一个高性能、高可靠的分布式协调系统#xff0c;是 Google Chubby 的一个开源实现#xff0c;目前在分布式系统、大数据领域中使用非常广泛。本文将介绍 Zookeeper 集群架构、数据模型、监听机制#xff0c;以及Zookeeper典型的应用场景等。1. Zookeeper 集群角…Zookeeper 是一个高性能、高可靠的分布式协调系统是 Google Chubby 的一个开源实现目前在分布式系统、大数据领域中使用非常广泛。本文将介绍 Zookeeper 集群架构、数据模型、监听机制以及Zookeeper典型的应用场景等。1. Zookeeper 集群角色首先介绍下 Zookeeper 集群一个 Zookeeper 集群通常由一组机器组成一般3~5台集群就可以组成一个 Zookeeper 集群。集群拓扑图基本如下Zookeeper 集群中每一个节点都会在内存中维护当前的节点状态并且彼此之间保持着通信。这里说明一点只要集群中存在过半的节点正常工作整个集群就能够对外提供服务。如上图在 Zookeeper 集群中有 Leader、Follower 和 Observer 三种类型的角色。LeaderLeader 节点整个 Zookeeper 集群工作机制中的核心主要工作是处理客户端的读写请求及集群内部各服务的调度。注意只有 leader 能够处理写请求。Follower处理客户端的读请求将写请求转发给 leader。参与 leader 选举投票等。Observer这是自 Zookeeper 3.3.0 版本引入的一个新的角色主要是为了解决大规模 Server 场景下因 leader 选举投票成本增加导致写性能下降的问题。Observer 的工作原理和 follower 基本一致。处理客户端的读请求将写请求转发给leader。和 follower 唯一的区别在于Observer不参与任何形式的选举包括 leader 选举。一般而言中小型规模的 Zookeeper 集群中只包含 leader 和 follower 两个角色这容易让我们忽略 observer 角色的存在。配置一个节点为 observer 也很简单只需如下两步# 在observer节点的配置文件中添加如下配置 peerTypeobserver# 在每个节点的配置文件中给observer节点添加:observer标识 # 例如 server.1:localhost:2181:3181:observer 至此相信你对 Zookeeper 的集群架构与相关角色有了一定认识。2. Zookeeper 数据模型Zookeeper 的数据模型是一棵类似 Unix 文件系统的 ZNode Tree 即 ZNode 树但是没有引入传统文件系统的目录或者文件等概念而是使用了称为 “数据节点” 的概念术语叫做 ZNode。ZNode 是 Zookeeper 存储数据的最小单元每个 ZNode 可以保存数据也可以挂载子节点其中根节点是 /。示意图如下使用过 Zookeeper 的同学应该都知道Zookeeper 主要提供了两个核心功能管理存储、读取客户端提交的数据为客户端提供数据节点的监听服务这里就涉及到 Zookeeper 的两个重要特性就是它的 ZNode 模型与 Watcher 机制。ZNode 模型前面讲到 Zookeeper 是由数据节点 ZNode 构成的Zookeeper 中的每个数据节点都是有生命周期的其生命周期的长短取决于 ZNode 的节点类型。ZNode 根据其生命周期和特点可分为 4 类。分别是持久性节点PERSISTENT客户端与 Zookeeper 断开会话后该节点依旧存在直到执行删除操作才会清除节点。持久性顺序节点PERSISTENT_SEQUENTIAL另一种持久节点Zookeeper 会给该节点名称加上一个数字后缀进行顺序编号。临时节点EPHEMERAL节点的生命周期和客户端的会话绑定在一起客户端与 Zookeeper 断开会话后该节点就会被自动删除。各个场景中很多都是利用 Zookeeper 临时节点这个特性的。临时顺序节点EPHEMERAL_SEQUENTIAL概念和上面类似Zookeeper 也会给该节点进行顺序编号。前面提及了 ZNode 是存储数据的最小单元除了存储用户数据外ZNode 还有以下特点包含 ZNode 修改/访问的时间、事务idzxidACL 权限、版本等状态信息所有的事务请求在 ZNode 端都是顺序和原子性的数据主要存储在内存中磁盘中保存事务日志、快照数据等Watcher 机制Watcher 机制也称监听机制它是 Zookeeper 的关键特性是通过 ZooKeeper 实现分布式发布/订阅、分布式锁、集群管理等功能的基础。如上图所示Zookeeper 允许客户端向服务端注册一个 Watcher 监听器当服务端的一些指定事件触发了该监听比如节点创建、删除节点数据变更等事件Zookeeper 就会向注册了监听器的客户端发送相应的事件通知。3. 代码演示 Zookeeper 监听器接下来我们看一下通过 Zookeeper 原生的客户端 API创建 ZNode 数据节点然后演示下 Zookeeper 监听器的基本使用。引入依赖首先当前有一个包含3个节点的 Zookeeper 集群我们根据 Zookeeper 版本引入了相应依赖如下演示代码创建 ZNodeprivate 可左右滑动执行完这个单元测试后我们通过命令行在服务端查看一下该数据节点[zk: localhost:2181(CONNECTED) 48] get /my_node 123 cZxid 0xdb6439ef2 ctime Fri Feb 27 21:08:09 CST 2020 mZxid 0xdb6439ef2 mtime Fri Feb 27 21:08:09 CST 2020 pZxid 0xdb6439ef2 cversion 0 dataVersion 0 aclVersion 0 ephemeralOwner 0x0 dataLength 3 numChildren 0删除 ZNode 节点并监听该节点的删除动作Test 可左右滑动代码执行后可以看到控制台打印出了我们的日志21:41:07.870 [main-EventThread] INFO xxx - 注意ZNode /my_node is deleted !服务端查看该节点也已经不存在了[zk: localhost:2181(CONNECTED) 50] get /my_node Node does not exist: /my_node这里我们简单演示了下 Zookeeper 原始 API、监听器的使用希望通过这个简单的demo我们能对 Zookeeper 监听器有一个比较直观的认识。4. Zookeeper 应用场景Zookeeper 在分布式系统、大数据领域里应用广泛这里总结了 8 个典型的应用场景数据发布/订阅即所谓的配置管理或配置中心拓扑图如下通常在分布式系统或集群中所以节点的配置应该一致比如Hadoop集群要求对配置的修改能够快速同步到各个节点中可以通过 Zookeeper 实现将配置信息写入 ZooKeeper 的一个 ZNode 中各个节点在启动阶段从 Zookeeper 中获取配置并注册一个数据变更的 Watcher 监听器当 ZNode 中的数据被修改ZooKeeper 将通知各个客户端节点节点收到通知后进行配置更新负载均衡负载均衡通常是一种动态的服务配置拓扑图通常包含两部分服务注册服务提供者启动时会在某一个根 ZNode 节点下创建属于自己的子节点并写入一些服务信息 比如IP:Port信息服务解析服务使用者在请求服务时会先获取根 ZNode 节点的子节点列表即服务列表然后通过一定的负载均衡算法 比如hash选取一个服务访问命名服务又称 nameservice这是比较常见的场景Zookeeper 的命令服务主要有两个方向的应用提供类似 JNDI 的功能就是把各种服务的名称地址及其他信息放到 Zookeeper 中使用时去读取实现资源的定位和使用利用 Zookeeper 顺序节点的特性生成分布式的全局唯一 ID分布式协调/通知主要是利用了 Zookeeper Watcher 的注册与异步通知机制通常的做法是不同客户端都对 Zookeeper 的一个数据节点进行 Watcher 注册监听数据的变化当数据节点发生变化时所有订阅的客户端都能接到通知并做相应处理。常见场景比如Master 节点定期检测 Slave 节点的状态类似于心跳检测机制信息推送相当于一个发布订阅系统和第一个场景类似集群管理主要包括两部分功能记录当前集群中有多少个节点在工作以及节点的运行状态对集群中的节点进行上下线方面的操作Master 选举Master 选举是一个分布式系统中非常常见的场景这里是利用 Zookeeper 的强一致性保证只有一个客户端能够创建节点成功。分布式锁不同节点上的服务可能需要同时访问一个资源这事可能需要一把分布式锁。使用 Zookeeper 实现分布式锁主要基于以下特性ZooKeeper 的强一致性保证只有一个客户端能够创建锁成功。锁的独占性创建 ZNode 成功的客户端才能得到锁其他客户端只能等待当客户端用完释放锁时其他客户端再次尝试创建 ZNode获取分布式锁。分布式队列利用 Zookeeper 主要能够实现两种分布式队列当一个队列的成员都聚齐时这个队列才可用否则一直等待所有成员到达这种是同步队列。 比如一个 job 由多个 task 组成只有所有 task 完成后job 才运行完成可为 job 创建一个 /job 目录然后在该目录下为每个完成的 task 创建一个临时的 ZNode一旦临时节点数目达到 task 总数则表明 job 运行完成。 利用 Zookeeper 的临时顺序节点特性实现 FIFO 即先进先出的队列。5. 总结本文介绍了 Zookeeper 的集群架构ZNode 数据模型Watcher 监听机制以及 Zookeeper 的典型应用场景。Zookeeper 在分布式系统应用非常广泛主流的大数据组件比如HDFS、HBase、Kafka等也依靠 Zookeeper 做协调服务。通过本文的介绍相信我们对 Zookeeper 有了进一步的掌握。往期文章精选1、如何快速全面掌握Kafka5000字吐血整理2、一文读懂 HBase 核心原理与应用场景3、京东JDHBase异地多活实践4、美团点评基于 Flink 的实时数仓平台实践如果您喜欢这篇文章点【在看】与转发都是一种鼓励期待得到您的认可 ❥(^_-)
http://www.zqtcl.cn/news/937482/

相关文章:

  • 网站交互技术网站框架类型
  • 国内网站建设公司top20对软件开发的理解和认识
  • 一键生成网站前端开发用什么语言
  • pc 网站建设苏州seo网站诊断
  • 江苏盐城建筑公司网站seo专员的工作内容
  • 做网站内容腾讯云wordpress教程
  • 如何建设 linux 网站旅游区网站开发
  • 云南网站设计哪家好wordpress 右边栏
  • 服务器网站部署端口配置网站,商城,app+建设
  • 如何做公司网站优化装修店铺
  • 网站开发中常见的安全漏洞卢松松博客源码 wordpress博客模板
  • 美妆销售网站开发的目的东莞营销网站
  • 企业网站管理系统使用教程域名到期 网站打不开
  • 长春网站建设哪家专业国外免备案域名
  • 网站后台上传图片做难吗网站特效怎么做的
  • 泉州网站优化lamp环境做网站
  • 设计常用网站网站常见程序问题
  • 做网站竟然不知道cms如何添加网站图标
  • 东莞阳光网站官网缘魁上海网站建设
  • 山西孝义网站开发平面设计类网站有哪些
  • 手机版怎么做微电影网站青岛网站设计定制
  • 部队织梦网站模板免费下载红河网站建设代理
  • 网站开发学院网页制作模板html图片
  • 企业门户网站模板html上线网站备案和实名认证
  • 抖音代运营内容seo职业规划
  • dedecms网站制作教程做网站买好域名怎么办
  • 网站建立于网页设计ai网站设计
  • 青海省建设工程造价网站电商设计网站培训
  • 软件开发过程的阶段划分优化手机访问网站速度
  • 知名网站建设公司做分销网站好吗