ZooKeeper 概览中,我们介绍到使用其通常被用于实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。
下面选 3 个典型的应用场景来专门说说:
实际上,这些功能的实现基本都得益于 ZooKeeper 可以保存数据的功能,但是 ZooKeeper 不适合保存大量数据,这一点需要注意。
面试题 zookeeper 都有哪些使用场景? 面试官心理分析 现在聊的 topic 是分布式系统,面试官跟你聊完了 dubbo 相关的一些问题之后,已经确认你对分布式服务框架/RPC框架基本都有一些认知了。那么他可能开始要跟你聊分布式相关的其它问题了。 分布式锁这个东西,很常用的,你做 Java 系统开发,分布式系统,可能会有一些场景会用到。最常用的分布式锁就是基于 zookeeper 来实现的
可以这样说,任何一个开发语言、开发框架,都有它存在的明确目的,重心是为了解决什么问题。没有说我们学习一门语言或技术,就可以解决所有的问题。同样的,OpenResty 的存在也有其自身适用的应用场景。 其实官网 wiki 已经列了出来: 在 Lua 中混合处理不同 Nginx 模块输出(proxy, drizzle, postgres, Redis, memcached 等)。 在请求真正到达上游服
应用为王。 一项技术能否最终存活下来,有很多决定因素,但其中十分关键的便是是否能找到合适的应用场景。 区块链最近几年炒得很热,国内已有大量与之相关的企业,有些企业已经结合已有业务摸索出了自己的应用场景,但仍有不少企业处于不断试探和反复迷惑状态。 实际上,要找到合适的应用场景,还是要从区块链自身的特性出发进行分析。区块链在不引入第三方中介机构的前提下,可以提供去中心化、不可篡改、安全可靠等特性保证。
典型场景 从网络的访问看,涉及到路由服务的至少是需要跨子网的访问,又包括是否是同一机器、是否是涉及到外网(东西向 vs 南北向)。 考虑下面几个跨子网路由的典型场景。 方向 同一机器 不同机器 东西 本地网桥处理 本地东西路由器 南北 本地南北路由器 floating 转发 网络节点 SNAT 转发 东西向 东西向意味着租户同一个数据中心内不同子网之间的互相访问。 同一机器 对于同一主机上的不同子
典型场景 典型的场景,租户创建了一个网络,并在其上分配了一个子网 10.0.0.0/24,默认情况下,其它子网将不允许访问该子网。租户试图通过防火墙规则来允许外部网络对内部子网虚拟机 22 端口的访问。 OpenStack 的 FWaaS 实现中有三个重要概念: Firewall Policy Rule 其中,Firewall 会绑定到某个 Policy(因此必须先创建 Policy 之后才能创建
典型场景 典型的场景,租户创建了一个网络,并在其上分配了一个子网 10.0.0.0/24,租户试图通过一个负载均衡设备来实现多个虚拟机呈现统一业务。 首先,启动两个虚机,分别分配到 IP 地址:10.0.0.2 和 10.0.0.4。 OpenStack 的 LBaaS 实现中有三个重要概念: Pool Member Monitor 其中,Pool 是要进行负载均衡的资源池(一般需要对应到某一个子