当前位置: 首页 > 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.dnsts.com.cn/news/36723.html

相关文章:

  • 淘宝 网站建设教程h5开发的app
  • 怎样在公司的网站服务器上更新网站内容青羊网站建设
  • 一般网站栏目结构网站怎么做才会有收录
  • jsp技术做网站有什么特点wordpress注册的时候发送邮件
  • 图像放大网站DW自动生成代码做网站
  • 网站怎么加二级域名偃师网站制作
  • 免费网站建设福州通付盾 建设网站公司
  • 网站怎样做网银支付个人阿里云账号可以做网站备案
  • 深圳建设局网站深业中城绿化项目ai做的比较好的网站
  • 怎样快速提升网站权重区域教育联盟网站建设
  • 微网站制作超链接做网站的商标是哪类
  • APP加网站建设预算多少钱WordPress感觉很慢
  • 建设一个网站的所有代码wordpress获取当前tag名称
  • 怎样做招聘网站做网站外包最牛的公司
  • 怎么建立公司网站平台怎么做企业官方网站
  • 果洛电子商务网站建设哪家快东莞网站建设要注意什么
  • 国外工会网站建设wordpress主题代码大全
  • wordpress网站如何清理js清远市企业网站seo
  • 做首页网站成品仁怀网站建设
  • 健身俱乐部网站开发文档asp网站开发实训
  • 成都seo网站qq淘宝返利网站怎么做
  • 镇江网站建设个高端网站建设页面
  • 做企业网站赚钱吗江苏建设厅网站首页
  • 基于搜索引擎的网站推广方式企业网站建设官网
  • 资讯文章类网站织梦模板手机网站列表模板
  • 网站建设具体流程seo关键词排名怎么优化
  • 平邑的网站都是谁做的小程序跳转网页方法
  • 百度可信网站凡科注册的网站怎么被百度收录
  • 旅游商业网站策划书专门做石材地花设计的网站
  • 胶州网站建设公司宁波网站推广优化