如何获取WordPress网站设备参数以进行合法合规的网站开发?

摘要:做网站正规公司,wordpress获取设备参数,用安卓做网站,wordpress 批量标签Java面试知识点(全) 导航: https:nanxiang.blog.csdn.netarticledeta
做网站正规公司,wordpress获取设备参数,用安卓做网站,wordpress 批量标签Java面试知识点(全) 导航#xff1a; https://nanxiang.blog.csdn.net/article/details/130640392 注#xff1a;随时更新 ZooKeeper是什么#xff1f; ZooKeeper是一个分布式的#xff0c;开放源码的分布式应用程序协调服务#xff0c;是Google的Chubby一个开源的实现 https://nanxiang.blog.csdn.net/article/details/130640392 注随时更新 ZooKeeper是什么 ZooKeeper是一个分布式的开放源码的分布式应用程序协调服务是Google的Chubby一个开源的实现它是集群的管理者监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终将简单易用的接口和性能高效、功能稳定的系统提供给用户 ZooKeeper提供了什么 1.文件系统 zk与文件系统的区别zk用来存一些元数据(配置数据集群信息等)不用来存大量业务数据与数据库的区别:数据库是一个中心节点而zk是一个高可用集群;zk提供了心跳和异步通知机制数据库不提供zk节点分为:机器节点数据节点znode而znode分为两大类:持久节点临时节点。每个子目录项如 NameService 都被称作为znode和文件系统一样我们能够自由的增加、删除znode在一个znode下增加、删除子znode唯一的不同在于znode是可以存储数据的。 有四种类型的znode 1、PERSISTENT-持久化目录节点 客户端与zookeeper断开连接后该节点依旧存在 2、PERSISTENT_SEQUENTIAL-持久化顺序编号目录节点 客户端与zookeeper断开连接后该节点依旧存在只是Zookeeper给该节点名称进行顺序编号 3、EPHEMERAL-临时目录节点 客户端与zookeeper断开连接后该节点被删除 4、EPHEMERAL_SEQUENTIAL-临时顺序编号目录节点 客户端与zookeeper断开连接后该节点被删除只是Zookeeper给该节点名称进行顺序编号 2.通知机制 客户端注册监听它关心的目录节点当目录节点发生变化数据改变、被删除、子目录节点增加删除时zookeeper会通知客户端。 Zookeeper做了什么 -1.命名服务 在zookeeper的文件系统里创建一个目录即有唯一的path。在我们使用tborg无法确定上游程序的部署机器时即可与下游程序约定好path通过path即能互相探索发现。 2.配置管理 程序总是需要配置的如果程序分散部署在多台机器上要逐个改变配置就变得困难。现在把这些配置全部放到zookeeper上去保存在 Zookeeper 的某个目录节点中然后所有相关应用程序对这个目录节点进行监听一旦配置信息发生变化每个应用程序就会收到 Zookeeper 的通知然后从 Zookeeper 获取新的配置信息应用到系统中就好 3.集群管理 所谓集群管理无在乎两点是否有机器退出和加入、选举master。 对于第一点所有机器约定在父目录GroupMembers下创建临时目录节点然后监听父目录节点的子节点变化消息。一旦有机器挂掉该机器与 zookeeper的连接断开其所创建的临时目录节点被删除所有其他机器都收到通知某个兄弟目录被删除于是所有人都知道它上船了。 新机器加入也是类似所有机器收到通知新兄弟目录加入highcount又有了对于第二点我们稍微改变一下所有机器创建临时顺序编号目录节点每次选取编号最小的机器作为master就好。 4.分布式锁 有了zookeeper的一致性文件系统锁的问题变得容易。锁服务可以分为两类一个是保持独占另一个是控制时序。 对于第一类我们将zookeeper上的一个znode看作是一把锁通过createznode的方式来实现。所有客户端都去创建 /distribute_lock 节点最终成功创建的那个客户端也即拥有了这把锁。用完删除掉自己创建的distribute_lock 节点就释放出锁。 对于第二类 /distribute_lock 已经预先存在所有客户端在它下面创建临时顺序编号目录节点和选master一样编号最小的获得锁用完删除依次方便。 5.队列管理 两种类型的队列 1)、同步队列当一个队列的成员都聚齐时这个队列才可用否则一直等待所有成员到达。 2、队列按照 FIFO 方式进行入队和出队操作。 第一类在约定目录下创建临时目录节点监听节点数目是否是我们要求的数目。 第二类和分布式锁服务中的控制时序场景基本原理一致入列有编号出列按编号。 分布式与数据复制 Zookeeper作为一个集群提供一致的数据服务自然它要在所有机器间做数据复制。数据复制的好处 1、容错一个节点出错不致于让整个系统停止工作别的节点可以接管它的工作 2、提高系统的扩展能力 把负载分布到多个节点上或者增加节点来提高系统的负载能力 3、提高性能让客户端本地访问就近的节点提高用户访问速度。 从客户端读写访问的透明度来看数据复制集群系统分下面两种 1、写主(WriteMaster) 对数据的修改提交给指定的节点。读无此限制可以读取任何一个节点。这种情况下客户端需要对读与写进行区别俗称读写分离 2、写任意(Write Any)对数据的修改可提交给任意的节点跟读一样。这种情况下客户端对集群节点的角色与变化透明。 对zookeeper来说它采用的方式是写任意。通过增加机器它的读吞吐能力和响应能力扩展性非常好而写随着机器的增多吞吐能力肯定下降这也是它建立observer的原因而响应能力则取决于具体实现方式是延迟复制保持最终一致性还是立即复制快速响应。 ZooKeeper的集群 ZK集群如下图所示。这是实际应用的一个场景该ZooKeeper集群当中一共有5台服务器有两种角色Leader和Follwer5台服务器连通在一起客户端有分别连在不同的ZK服务器上。如果当数据通过客户端1在左边第一台Follower服务器上做了一次数据变更他会把这个数据的变化同步到其他所有的服务器同步结束之后那么其他的客户端都会获得这个数据的变化。 注意 通常Zookeeper由2n1台servers组成每个server都知道彼此的存在。每个server都维护的内存状态镜像以及持久化存储的事务日志和快照。为了保证Leader选举能过得到多数的支持所以ZooKeeper集群的数量一般为奇数。对于2n1台server只要有n1台大多数server可用整个系统保持可用。 1.集群中的角色 在ZooKeeper集群当中集群中的服务器角色有两种Leader和LearnerLearner角色又分为Observer和Follower具体功能如下 1).领导者(leader)负责进行投票的发起和决议更新系统状态 2).学习者(learner)包括跟随者follower和观察者observer 3).follower用于接受客户端请求并向客户端返回结果在选主过程中参与投票 4).Observer可以接受客户端请求将写请求转发给leader但observer不参加投票过程只同步leader的状态observer的目的是为了扩展系统提高读取速度。 5). 客户端(client)请求发起方 ZooKeeper的组件图中给出了ZooKeeper服务的高层次的组件。除了请求处理器requestprocessor外构成ZooKeeper服务的每个服务器都有一个备份。复制的数据库replicateddatabase是一个内存数据库包含整个数据树。为了可恢复更新会被log到磁盘并且在更新这个内存数据库之前先序列化到磁盘。 每个ZooKeeper都为客户端提供服务。客户端只连接到一个服务器并提交请求。读请求直接由本地的复制数据库提供数据。对服务状态进行修改的请求、写请求通过一个约定的协议进行通讯。 作为这个协议的一部分所有的写请求都被传送到一个叫“首领(leader)”的服务器而其他的服务器叫做“(随从)followers”follower从leader接收信息修改的提议并同意进行。当leader发生故障时协议的信息层messaginglayer关注leader的替换并同步到所有的follower。 ZooKeeper采用一个自定义的信息原子操作协议由于信息层的操作是原子性的ZooKeeper能保证本地的复制数据库不会产生不一致。当leader接收到一个写请求它计算出写之后系统的状态把它变成一个事务。 Zookeeper的读写机制和保证及特点 1ZooKeeper的读写机制 Zookeeper是一个由多个server组成的集群 一个leader多个follower 每个server保存一份数据副本 全局数据一致 分布式读写 更新请求转发由leader实施 2ZooKeeper的保证 ZooKeeper运行非常快而且简单。虽然它的目标是构建更加复杂服务例如同步的基础但它提供了一些保证如下 1.顺序一致性来自于客户端的更新根据发送的先后被顺序实施。 2.唯一的系统映像尽管客户端连接到不同的服务器但它们看到的一个唯一一致性的系统服务client无论连接到哪个server数据视图都是一致的。 3.可靠性一旦实施了一个更新就会一直保持那种状态直到客户端再次更新它同时数据更新原子性一次数据更新要么成功要么失败。 4.及时性在一个确定的时间内客户端看到的系统状态是最新的。 3ZooKeeper特点 最终一致性client不论连接到哪个Server展示给它都是同一个视图这是zookeeper最重要的性能。 可靠性具有简单、健壮、良好的性能如果消息m被一台服务器接受那么它将被所有的服务器接受。 实时性Zookeeper保证客户端将在一个时间间隔范围内获得服务器的更新信息或者服务器失效的信息。 但由于网络延时等原因Zookeeper不能保证两个客户端能同时得到刚更新的数据如果需要最新数据应该在读数据之前调用sync()接口。 等待无关(wait-free)慢的或者失效的client不得干预快速的client的请求使得每个client都能有效的等待。 原子性更新只能成功或者失败没有中间状态。 顺序性包括全局有序和偏序两种 全局有序是指如果在一台服务器上消息a在消息b前发布则在所有Server上消息a都将在消息b前被发布 偏序是指如果一个消息b在消息a后被同一个发送者发布a必将排在b前面 Zookeeper工作原理 Zookeeper 的核心是原子广播这个机制保证了各个Server之间的同步。实现这个机制的协议叫做Zab协议。Zab协议有两种模式它们分别是恢复模式选主和广播模式同步。当服务启动或者在领导者崩溃后Zab就进入了恢复模式当领导者被选举出来且大多数Server完成了和 leader的状态同步以后恢复模式就结束了。状态同步保证了leader和Server具有相同的系统状态。 为了保证事务的顺序一致性zookeeper采用了递增的事务id号zxid来标识事务。所有的提议proposal都在被提出的时候加上了zxid。实现中zxid是一个64位的数字它高32位是epoch用来标识leader关系是否改变每次一个leader被选出来它都会有一个新的epoch标识当前属于那个leader的统治时期。低32位用于递增计数。 Zookeeper对节点的watch监听通知是永久的吗 不是。官方声明一个Watch事件是一个一次性的触发器当被设置了Watch的数据发生了改变的时候则服务器将这个改变发送给设置了Watch的客户端以便通知它们。 为什么不是永久的举个例子如果服务端变动频繁而监听的客户端很多情况下每次变动都要通知到所有的客户端这太消耗性能了。 一般是客户端执行getData(“/节点A”,true)如果节点A发生了变更或删除客户端会得到它的watch事件但是在之后节点A又发生了变更而客户端又没有设置watch事件就不再给客户端发送。 在实际应用中很多情况下我们的客户端不需要知道服务端的每一次变动我只要最新的数据即可。 部署方式集群中的机器角色都有哪些集群最少要几台机器 单机集群。Leader、Follower。集群最低32N1台保证奇数主要是为了选举算法。 集群如果有3台机器挂掉一台集群还能工作吗挂掉两台呢 记住一个原则过半存活即可用 ZooKeeper集群中服务器之间是怎样通信的 Leader服务器会和每一个Follower/Observer服务器都建立TCP连接同时为每个F/O都创建一个叫做LearnerHandler的实体。LearnerHandler主要负责Leader和F/O之间的网络通讯包括数据同步请求转发和Proposal提议的投票等。Leader服务器保存了所有F/O的LearnerHandler。 master/slave之间通信 Storm定期扫描 PtBalancer节点监听 ZooKeeper是CP还是AP CAP是什么? 同步: 指的是多个量在变化过程中保持一定的相对关系 Consistency 一致性, 在分布式系统中的所有数据备份在同一时刻有同样的值(或是同步的值) Availability 可用性, 能提供服务, 且对每个请求都尽快做出响应 Partition tolerance 分区容错性, 分布式系统在遇到任何网络分区故障时, 仍能够保证对外提供满足一 致性或 可用性 的服务; 分区是指在使用分布式系统架构中, 由于机房间网络不通, 导致被划分成了多个区 CAP的A与C的矛盾: 满足AP: 订单服务 调用库存服务 扣库存时, 扣库存会拖慢时间, 所以干脆直接生成订单, 后续系统再扣库存 这样, 用户立刻得到了响应, 即满足了高可用, 但是库存没有及时进行扣减, 牺牲了一致性, 订单服务和库存服务短期内数据不同步不一致了 满足CP: 订单服务 调用库存服务 扣库存时, 扣库存会拖慢了时间 等待其扣减完成, 满足了一致性, 牺牲了快速做出响应的高可用 满足CA: 不拆分数据库了, 就没有网络故障的分区问题了; 但这样就不叫分布式了变成了单机应用, 也就没CAP分布式理论一说了 所以P是一定要满足的, A和C之间是矛盾的 Base理论 Base理论: 对弱一致性AP的补救, 即符合最终一致性, 一段时间后, 最终一致即可 实现方式: 借助消息队列, 过后再取消息进行处理, 若 失败可以人工处理解决 根据业务进行选择: 对于银行金融这些需要安全性高的业务, 优先满足一致性CP; 对于互联网公司用户为王, 优先满足可用性APBase, 提升用户体验感 ZooKeeper是什么: ZooKeeper是 类Unix文件系统通知机制, 核心是原子消息广播, 用作分布式集群协调, 是润滑剂 ZooKeeper和Vue的双向绑定 都是观察者模式, 它存储和管理着大家都关心的数据, 接受观察者的注册监听 集群必须有半数以上节点才能正常工作, 应安装奇数台最好 Client和Server建立的是TCP长连接 ZooKeeper是CP还是AP? ZooKeeper的AP和CP是从不同的角度分析的: 处理写操作请求时, 不用等待全部follwer同步完成(而是超过半数即可), 保证了可用性, 但丢失了数据一致性, 所以是此时是AP ZooKeeper在leader选举期间, 会暂停对外提供服务, 所以丢失了可用性, 保证了一致性, 所以此时是CP 所以, ZooKeeper广义上来说是CP, 狭义上是APBase 最终一致性 特性: 顺序一致性: ZK接收到的 多个写操作请求, 会按照其接收顺序被应用到ZK中 全局一致性: 每个Server都保存一份相同的副本, Client无论连接到哪个Server, 数据都是一致的 数据更新原子性: 一次数据的更新, 要么所有节点都成功, 要么都失败 用到了分布式事务, 生成一个全局唯一的ZXID 最终一致性: 处理写操作请求, 不用阻塞等待全部follwer同步完成, 保证了可用性, 但丢失了数据一致性, 所以是此时是AP; 但符合Base理论, 最终是一致的 外传 原创不易如若本文能够帮助到您的同学支持我关注我点赞收藏⭐️留言探讨问题看到立马回复格言己所不欲勿施于人 扬帆起航、游历人生、永不言弃