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

宁夏找人做网站多少钱海珠区建设和水务局网站

宁夏找人做网站多少钱,海珠区建设和水务局网站,沈阳网站建设服务平台,刚刚发布了天津的最新消息这是小卷对分布式系统架构学习的第8篇文章#xff0c;在写第2篇文章已经讲过服务发现了#xff0c;现在就从组件工作原理入手#xff0c;讲讲注册中心 以下是面试题#xff1a; 某团面试官#xff1a;你来说说怎么设计一个注册中心#xff1f; 我#xff1a;注册中心嘛在写第2篇文章已经讲过服务发现了现在就从组件工作原理入手讲讲注册中心 以下是面试题 某团面试官你来说说怎么设计一个注册中心 我注册中心嘛就要有服务发现的功能服务启动后把自己的信息注册上去然后消费端可以拉取生产者的信息嘛然后就能调用了 某团面试官那你说说分布式系统中注册中心怎么选型呢Eureka、Zookpeer、Nacos、Etcd这些中间件你实际用的时候怎么考虑的 我就用Nacos啊公司里大家都用这个 面试官… 面试官我知道了今天的面试就到这吧… 1.注册中心的功能 设计注册中心时先来思考下面几个问题 服务如何注册consumer如何知道provider注册中心怎么做到高可用服务发现怎么做的 要想实现一个服务注册中心必须具备以下功能 服务注册provider在注册中心完成注册服务注销服务提供者需在注册中心完成服务下线心跳检测检查服务提供者的健康状态服务查询消费者获取服务列表消息服务变更查询服务发生变更时消费者通过查询变更获取最新服务列表服务高可用 2.Zookeeper工作原理 我们还是选择一个比较活跃的中间件来展开学习注册中心的工作原理。 Zookeeper的文档官网Apache ZooKeeper 官网解释Zookeeper名字的由来是因为分布式系统就像个动物园Zoo目前国内Dubbo场景下大多选用Zookeeper作为注册中心。官方解释它使用一个具有层次结构的命名空间类似文件系统用斜杠“/”分隔路径元素根节点是“/”表示无父节点。通过znodesZooKeeper节点存储数据如果znode有子节点则无法删除该znode。这些数据可以被多个应用程序共享并提供高可用性和一致性。 2.1简单API ZooKeeper的一个设计目标是提供一个非常简单的编程接口这些接口故意设计得十分简单。然而借此接口您可以实现更高阶的操作如同步原语、组成员管理、所有权等。编程接口支持以下操作 create在树中的某个位置创建一个节点。delete删除一个节点。exists测试某个位置是否存在节点。get data读取节点中的数据。set data向节点写入数据。get children获取节点的子节点列表。sync等待数据传播。 2.2 服务注册 客户端注册当一个服务提供者实例启动时它会向Zookeeper注册到某一路径上。 服务实例通过创建一个znode通常是临时节点来注册自己。这个znode包含服务实例的元数据注册路径为{service}/{version}/{ip:port} 示例将我们的HelloService部署启动后Zookeeper上会创建一个目录 /HelloWorldService/1.0.0/192.168.1.100:8080 下面简述服务注册的过程 服务提供者启动时会将其服务名称ip地址注册到注册中心服务消费者在第一次调用服务时会通过注册中心找到相应的服务的IP地址列表并缓存到本地。当消费者调用服务时不再请求注册中心而是直接通过负载均衡算法从IP列表中取一个服务提供者的服务器调用服务当服务提供者的某台服务器宕机或下线时相应的ip会从服务提供者IP列表中移除。同时注册中心会将新的服务IP地址列表发送给消费者机器缓存在消费者本机当某个服务的所有服务器都下线了那么这个服务也就下线了同样当服务提供者的某台服务器上线时注册中心会将新的服务IP地址列表发送给服务消费者机器缓存在消费者本机服务提供方可以根据服务消费者的数量来作为服务下线的依据 客户端代码示例 ZooKeeper zk new ZooKeeper(localhost:2181, 3000, null); String path /services/myService; zk.create(path, 192.168.1.100:8080.getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL);2.3 心跳检测机制 服务的某台机器下线时Zookeeper是如何感知到 zookeeper提供了“心跳检测”功能它会定时向各个服务提供者发送一个请求实际上建立的是一个 socket 长连接如果长期没有响应服务中心就认为该服务提供者已经“挂了”并将其删除。 2.4 服务发现 有关服务发现的概念可以看我之前的文章分布式系统架构2服务发现 上面说了有新的服务提供者出现时注册中心是怎么将这些变化通知给消费者客户端的呢 有2种方式 主动Pull方式消费者定期从注册中心拉取最新的服务提供者列表并更新本地缓存。如Eureka发布-订阅模式消费者实时监听服务更新状态采用的是监听器回调机制。Zookeeper用的是发布-订阅模式客户端在服务节点设置监视器Watcher。当节点发生变化如服务实例上线或下线时Zookeeper会通知所有设置了监视器的客户端 2.5 存在问题 Zookeeper作为注册中心不合适缺少可用性。 zk会出现这样一种情况当master节点因为网络故障与其他节点失去联系时剩余节点会重新进行leader选举。问题在于选举leader的时间太长30 ~ 120s, 且选举期间整个zk集群都是不可用的这就导致在选举期间注册服务瘫痪。 而作为注册中心可用性的要求高于一致性 2.6 Zookeeper总结 Zookeeper的心跳检测可以自动探测服务提供者机器的宕机或下线Zookeeper的Watch机制可以将变更的注册列表推给服务消费者Zookeeper是CP模型不太适合作为注册中心。
http://www.w-s-a.com/news/856759/

相关文章:

  • 手机访问网站页面丢失北京电商平台网站建设
  • 郑州网站怎么推广中山 网站关键词优化
  • 国外试用网站空间网站建设与管理题目
  • 淄博网赢网站建设网站设计的技术选择
  • 建外贸网站 东莞厦门做网站最好的公司
  • 为您服务网站新网站做百度推广
  • 电子商务免费网站建设网站制作哪个好薇
  • 全面启动门户网站建设中小型企业建设一个网站大概需要多少钱
  • 建网站一般多少钱网站建设上传服务器步骤
  • 手机销售网站怎么做的网站推广优化建设方案
  • 做任务分享赚钱的网站德阳网站建设公司哪家好
  • 云南建设工程质量监督网站wordpress网站导航主题
  • 徐州网站建设哪家好薇手机开源网站代码
  • 更新网站要怎么做呢泰安市58同城招聘网
  • 溧阳网站建设价格企业网站设计费用
  • 我建设的网站打开很慢河北住房和城乡建设厅网站卡
  • 门户网站广告的特点有网站的建设初步定位
  • 建设网站第一步网页建设方案
  • 网站开发需要那些人才wordpress 小工具原理
  • 广州建设局官方网站佛山高端网站制作公司
  • 东莞哪里能学建设网站网站备案值得吗
  • 中山 网站建设 骏域小程序开发课程
  • 北京网站建设成都微商城app官方下载
  • 网站开发用户登陆的安全wordpress 开发网站
  • 网站建设容易出现的问题四川seo关键词工具
  • 做外单网站有哪些内容服务好的南京网站建设
  • 阜阳微商城网站建设百度网站两两学一做心得体会
  • 建设银行积分网站观光农业规划设计
  • jsp项目个人网站开发用织梦做网站有什么公司会要
  • 和田网站制作无限动力网站