加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡水站长网 (https://www.0318zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 动态 > 正文

996工作模式遭诟病背后

发布时间:2021-01-29 13:52:25 所属栏目:动态 来源:互联网
导读:实践中的软件体系结构是对软件体系结构的出色概述。这不仅是一本教您如何微服务如何工作的模式书。取而代之的是,这本书着重于可用于构建体系结构的过程和技术:与利益相关者讨论,需求如何与体系结构相关以及如何就体系结构进行沟通。因为从本质上讲,这就

实践中的软件体系结构是对软件体系结构的出色概述。这不仅是一本教您如何微服务如何工作的"模式"书。取而代之的是,这本书着重于可用于构建体系结构的过程和技术:与利益相关者讨论,需求如何与体系结构相关以及如何就体系结构进行沟通。因为从本质上讲,这就是架构的全部意义:就驱使构建系统原因以及构建系统以实现这些要求的需求进行沟通。

该书更像是参考手册,不应从头到尾全部阅读。本书前言中有一个读者指南,其中列出了您应阅读的章节,具体取决于您的背景。

精益创业

作为软件工程师或开发人员,您最关心的是构建以最有效的方式解决问题的系统。但是,您是否曾经考虑过,所构建的内容可能实际上并不能解决一个真正的问题,因此是不必要的?
 

  • 服务注册:服务提供者(Provider)启动时,会向zookeeper服务端注册服务信息,也就是创建一个节点,例如:用户注册服务com.xxx.user.register,并在节点上存储服务的相关数据(如服务提供者的ip地址、端口等)。
  • 服务发现:服务消费者(Consumer)启动时,根据自身配置的依赖服务信息,向zookeeper服务端获取注册的服务信息并设置watch监听,获取到注册的服务信息之后,将服务提供者的信息缓存在本地,并进行服务的调用。
  • 服务通知:一旦服务提供者因某种原因宕机不再提供服务之后,客户端与zookeeper服务端断开连接,zookeeper服务端上服务提供者对应服务节点会被删除(例如:用户注册服务com.xxx.user.register),随后zookeeper服务端会异步向所有消费用户注册服务com.xxx.user.register,且设置了watch监听的服务消费者发出节点被删除的通知,消费者根据收到的通知拉取最新服务列表,更新本地缓存的服务列表。

上边的过程就是zookeeper可以实现服务注册与发现的大致原理。

watcher有哪些类型?

znode节点可以设置两类watch,一种是DataWatches,基于znode节点的数据变更从而触发 watch 事件,触发条件getData()、exists()、setData()、 create()。

另一种是Child Watches,基于znode的孩子节点发生变更触发的watch事件,触发条件 getChildren()、 create()。

而在调用 delete() 方法删除znode时,则会同时触发Data Watches和Child Watches,如果被删除的节点还有父节点,则父节点会触发一个Child Watches。

watcher有什么特性?

watch对节点的监听事件是一次性的!客户端在指定的节点设置了监听watch,一旦该节点数据发生变更通知一次客户端后,客户端对该节点的监听事件就失效了。

如果还要继续监听这个节点,就需要我们在客户端的监听回调中,再次对节点的监听watch事件设置为True。否则客户端只能接收到一次该节点的变更通知。

NO9:那你说说Zookeeper有哪些应用场景?

数据发布与订阅

发布与订阅即所谓的配置管理,顾名思义就是将数据发布到ZooKeeper节点上,供订阅者动态获取数据,实现配置信息的集中式管理和动态更新。例如全局的配置信息,地址列表等就非常适合使用。

数据发布/订阅的一个常见的场景是配置中心,发布者把数据发布到 ZooKeeper 的一个或一系列的节点上,供订阅者进行数据订阅,达到动态获取数据的目的。

配置信息一般有几个特点:

  • 数据量小的KV
  • 数据内容在运行时会发生动态变化
  • 集群机器共享,配置一致

(编辑:衡水站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读