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

做企业网站市场分析网站建设外包合同模板

做企业网站市场分析,网站建设外包合同模板,网站字体设计规范,温泉网站建设个人背景 如标题所示#xff0c;我的个人背景非常简单#xff0c;Java开发经验1年半#xff0c;学历普通#xff0c;2本本科毕业#xff0c;毕业后出来就一直在Crud#xff0c;在公司每天重复的工作对我的技术提升并没有什么帮助#xff0c;但小镇出来的我也深知自我努…个人背景 如标题所示我的个人背景非常简单Java开发经验1年半学历普通2本本科毕业毕业后出来就一直在Crud在公司每天重复的工作对我的技术提升并没有什么帮助但小镇出来的我也深知自我努力的重要性想要改变“命运”没有背景没有资本的人只能通过勤奋获得。 幸运女神往往会眷顾努力的人所以当好运降临到我头上我并不诧异目前拿到了美团30K的offer下文也不说废话主要分享我这次“美团面试经历”和“个人学习方法”希望能帮助到你们。 1. 面试官工作中使用过Zookeeper嘛你知道它是什么有什么用途呢 小菜鸡的我 有使用过的使用ZooKeeper作为dubbo的注册中心使用ZooKeeper实现分布式锁。ZooKeeper它是一个开放源码的分布式协调服务它是一个集群的管理者它将简单易用的接口提供给用户。可以基于Zookeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。Zookeeper的用途命名服务、配置管理、集群管理、分布式锁、队列管理 用途跟功能不是一个意思咩 2. 面试官说下什么是命名服务什么是配置管理又什么是集群管理吧 小菜鸡的我(幸好我刷过面试题)无所畏惧 命名服务就是 命名服务是指通过指定的名字来获取资源或者服务地址。Zookeeper可以创建一个全局唯一的路径这个路径就可以作为一个名字。被命名的实体可以是集群中的机器服务的地址或者是远程的对象等。一些分布式服务框架RPC、RMI中的服务地址列表通过使用命名服务客户端应用能够根据特定的名字来获取资源的实体、服务地址和提供者信息等。 配置管理 实际项目开发中我们经常使用.properties或者xml需要配置很多信息如数据库连接信息、fps地址端口等等。因为你的程序一般是分布式部署在不同的机器上如果你是单机应用当我没说如果把程序的这些配置信息保存在zk的znode节点下当你要修改配置即znode会发生变化时可以通过改变zk中某个目录节点的内容利用watcher通知给各个客户端从而更改配置。 集群管理 集群管理包括集群监控和集群控制其实就是监控集群机器状态剔除机器和加入机器。zookeeper可以方便集群机器的管理它可以实时监控znode节点的变化一旦发现有机器挂了该机器就会与zk断开连接对用的临时目录节点会被删除其他所有机器都收到通知。新机器加入也是类似酱紫所有机器收到通知有新兄弟目录加入啦。 3. 面试官你提到了znode节点那你知道znode有几种类型呢zookeeper的数据模型是怎样的呢 小菜鸡的我我先想想 zookeeper的数据模型 ZooKeeper的视图数据结构很像Unix文件系统也是树状的这样可以确定每个路径都是唯一的。zookeeper的节点统一叫做znode它是可以通过路径来标识结构图如下 znode的4种类型 根据节点的生命周期znode可以分为4种类型分别是持久节点PERSISTENT、持久顺序节点PERSISTENT_SEQUENTIAL、临时节点EPHEMERAL、临时顺序节点EPHEMERAL_SEQUENTIAL 持久节点PERSISTENT 这类节点被创建后就会一直存在于Zk服务器上。直到手动删除。 持久顺序节点PERSISTENT_SEQUENTIAL 它的基本特性同持久节点不同在于增加了顺序性。父节点会维护一个自增整性数字用于子节点的创建的先后顺序。 临时节点EPHEMERAL 临时节点的生命周期与客户端的会话绑定一旦客户端会话失效非TCP连接断开那么这个节点就会被自动清理掉。zk规定临时节点只能作为叶子节点。 临时顺序节点EPHEMERAL_SEQUENTIAL 基本特性同临时节点添加了顺序的特性。 4、面试官你知道znode节点里面存储的是什么吗每个节点的数据最大不能超过多少呢 小菜鸡的我 znode节点里面存储的是什么 Znode数据节点的代码如下 public class DataNode implements Record {byte data[]; Long acl; public StatPersisted stat; private SetString children null; } 哈哈Znode包含了存储数据、访问权限、子节点引用、节点状态信息如图 data: znode存储的业务数据信息ACL: 记录客户端对znode节点的访问权限如IP等。child: 当前节点的子节点引用stat: 包含Znode节点的状态信息比如事务id、版本号、时间戳等等。 每个节点的数据最大不能超过多少呢 为了保证高吞吐和低延迟以及数据的一致性znode只适合存储非常小的数据不能超过1M最好都小于1K。 5、面试官你知道znode节点上的监听机制嘛讲下Zookeeper watch机制吧。 小菜鸡的我 Watcher机制监听机制的工作原理Watcher特性总结 Watcher监听机制 Zookeeper 允许客户端向服务端的某个Znode注册一个Watcher监听当服务端的一些指定事件触发了这个Watcher服务端会向指定客户端发送一个事件通知来实现分布式的通知功能然后客户端根据 Watcher通知状态和事件类型做出业务上的改变。 可以把Watcher理解成客户端注册在某个Znode上的触发器当这个Znode节点发生变化时增删改查就会触发Znode对应的注册事件注册的客户端就会收到异步通知然后做出业务的改变。 Watcher监听机制的工作原理 ZooKeeper的Watcher机制主要包括客户端线程、客户端 WatcherManager、Zookeeper服务器三部分。客户端向ZooKeeper服务器注册Watcher的同时会将Watcher对象存储在客户端的WatchManager中。当zookeeper服务器触发watcher事件后会向客户端发送通知 客户端线程从 WatcherManager 中取出对应的 Watcher 对象来执行回调逻辑。 Watcher特性总结 **一次性**一个Watch事件是一个一次性的触发器。一次性触发客户端只会收到一次这样的信息。异步的: Zookeeper服务器发送watcher的通知事件到客户端是异步的不能期望能够监控到节点每次的变化Zookeeper只能保证最终的一致性而无法保证强一致性。轻量级 Watcher 通知非常简单它只是通知发生了事件而不会传递事件对象内容。客户端串行 执行客户端 Watcher 回调的过程是一个串行同步的过程。注册 watcher用getData、exists、getChildren方法触发 watcher用create、delete、setData方法 6、面试官你对Zookeeper的数据结构都有一定了解那你讲下Zookeeper的特性吧 小菜鸡的我我背过书啊哈哈 Zookeeper 保证了如下分布式一致性特性 顺序一致性从同一客户端发起的事务请求最终将会严格地按照顺序被应用到 ZooKeeper 中去。原子性所有事务请求的处理结果在整个集群中所有机器上的应用情况是一致的也就是说要么整个集群中所有的机器都成功应用了某一个事务要么都没有应用。单一视图无论客户端连到哪一个 ZooKeeper 服务器上其看到的服务端数据模型都是一致的。可靠性 一旦服务端成功地应用了一个事务并完成对客户端的响应那么该事务所引起的服务端状态变更将会被一直保留下来。实时性最终一致性 Zookeeper 仅仅能保证在一定的时间段内客户端最终一定能够从服务端上读取到最新的数据状态。 7、面试官你刚提到顺序一致性那zookeeper是如何保证事务的顺序一致性的呢 小菜鸡的我完蛋了这题不会 需要了解事务ID即zxid。ZooKeeper的在选举时通过比较各结点的zxid和机器ID选出新的主结点的。zxid由Leader节点生成有新写入事件时Leader生成新zxid并随提案一起广播每个结点本地都保存了当前最近一次事务的zxidzxid是递增的所以谁的zxid越大就表示谁的数据是最新的。 ZXID的生成规则如下 ZXID有两部分组成 任期完成本次选举后直到下次选举前由同一Leader负责协调写入事务计数器单调递增每生效一次写入计数器加一。 ZXID的低32位是计数器所以同一任期内ZXID是连续的每个结点又都保存着自身最新生效的ZXID通过对比新提案的ZXID与自身最新ZXID是否相差“1”来保证事务严格按照顺序生效的。 8、面试官你提到了Leader你知道Zookeeper的服务器有几种角色嘛Zookeeper下Server工作状态又有几种呢 小菜鸡的我 Zookeeper 服务器角色 Zookeeper集群中有Leader、Follower和Observer三种角色 Leader Leader服务器是整个ZooKeeper集群工作机制中的核心其主要工作 事务请求的唯一调度和处理者保证集群事务处理的顺序性集群内部各服务的调度者 Follower Follower服务器是ZooKeeper集群状态的跟随者其主要工作 处理客户端非事务请求转发事务请求给Leader服务器参与事务请求Proposal的投票参与Leader选举投票 Observer Observer是3.3.0 版本开始引入的一个服务器角色它充当一个观察者角色——观察ZooKeeper集群的最新状态变化并将这些状态变更同步过来。其工作 处理客户端的非事务请求转发事务请求给 Leader 服务器不参与任何形式的投票 Zookeeper下Server工作状态 服务器具有四种状态分别是 LOOKING、FOLLOWING、LEADING、OBSERVING。 1.LOOKING寻找Leader状态。当服务器处于该状态时它会认为当前集群中没有 Leader因此需要进入 Leader 选举状态。2.FOLLOWING跟随者状态。表明当前服务器角色是Follower。3.LEADING领导者状态。表明当前服务器角色是Leader。4.OBSERVING观察者状态。表明当前服务器角色是Observer。 9、面试官你说到服务器角色是基于ZooKeeper集群的那你画一下ZooKeeper集群部署图吧ZooKeeper是如何保证主从节点数据一致性的呢 小菜鸡的我 ZooKeeper集群部署图 ZooKeeper集群是一主多从的结构 如果是写入数据先写入主服务器主节点再通知从服务器。如果是读取数据既读主服务器的也可以读从服务器的。 ZooKeeper如何保证主从节点数据一致性 我们知道集群是主从部署结构要保证主从节点一致性问题无非就是两个主要问题 主服务器挂了或者重启了主从服务器之间同步数据~ Zookeeper是采用ZAB协议Zookeeper Atomic BroadcastZookeeper原子广播协议来保证主从节点数据一致性的ZAB协议支持崩溃恢复和消息广播两种模式很好解决了这两个问题 崩溃恢复Leader挂了进入该模式选一个新的leader出来消息广播 把更新的数据从Leader同步到所有Follower Leader服务器挂了所有集群中的服务器进入LOOKING状态首先它们会选举产生新的Leader服务器接着新的Leader服务器与集群中Follower服务进行数据同步当集群中超过半数机器与该 Leader服务器完成数据同步之后退出恢复模式进入消息广播模式。Leader 服务器开始接收客户端的事务请求生成事务Proposal进行事务请求处理。 式选一个新的leader出来 消息广播 把更新的数据从Leader同步到所有Follower Leader服务器挂了所有集群中的服务器进入LOOKING状态首先它们会选举产生新的Leader服务器接着新的Leader服务器与集群中Follower服务进行数据同步当集群中超过半数机器与该 Leader服务器完成数据同步之后退出恢复模式进入消息广播模式。Leader 服务器开始接收客户端的事务请求生成事务Proposal进行事务请求处理。
http://www.pierceye.com/news/540105/

相关文章:

  • 怎么做网站策划的模板如何注册咨询公司
  • 做婚恋网站投入多少钱php注册网站源码带数据库
  • 苏州网站建设制作方案手机上做app的软件
  • 青岛营销型网站html网页制作期末作业
  • 加强网站微信公众号平台建设php 5.4 wordpress
  • 比价网站开发东莞微客巴巴做网站
  • 怎么免费搭建自己的网站交互网站建设
  • 网站架构 规划考研网站做刷词
  • 昆山网站建设kshuituo适合seo优化的站点
  • 免费十八种禁用网站圣诞网站怎么做
  • 做网站排名赚钱吗安卓开发快速入门
  • 南宁百度网站建设求个网站或者软件
  • 岳阳网站项目建设报道网站建设色调的
  • 站长平台怎么添加网站南京市高淳县建设厅网站
  • 广州市住房和城乡建设厅网站首页一键制作自己的app软件
  • 设一个网站链接为安全怎么做微博内容放到wordpress
  • 好的网站设计培训学校wordpress主题 表白
  • 做网站服务器系统模板网站的建设方式与方法
  • 网站建设需要的公司市住房城乡建设部网站
  • 网站备案 厦门怎样做自己的购物网站
  • 旅行社应做哪些网站wordpress新建页面发布内容
  • 网站建设业中国宁波网天一论坛
  • 代表网站开发的logo小程序制作推广费用
  • 建个大型网站要多少钱怎么建自己的网址
  • 网站建站模板做网站一般的尺寸
  • 西安网站设设学校品牌建设
  • 工信部网站备案查询做网站用的大图
  • 手机版网站图片自适应怎么做找快照网站查询
  • 建设网站推广文案浙江网警
  • 笑话网站域名网站做优化效果怎么样