栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

zookeeper之认识篇,java开发技术难点

zookeeper之认识篇,java开发技术难点

随着互联网技术的高速发展,企业对计算机系统的计算、存储能力要求越来越高,最简单的证明就是出现了一些诸如:高并发,海量存储这样的词汇。这样的背景下,单纯依赖少量高性能主机来完成计算任务已经不能满足企业的需求,企业的IT架构逐步从集中式向分布式过渡,所谓的分布式是指:把一个计算任务分解成若干个计算单元,并且分派到若干不同的计算机中去执行,然后汇总计算结果的过程。

zookeeper是什么?

===================

zookeeper是_源代码开放分布式协调服务,由雅虎创建,是Google Chubby的开源实现。zookeeper是一个高性能分布式数据一致性解决方案_,它将那些复杂的、容易出错的分布式一致性服务封装起来,构成一个高效可靠原语集,并提供一系列简单易用的接口给用户使用。

要点:

1.源码开放

2.分布式协调服务,解决分布式数据一致性问题

A:顺序一致性  B:原子性   C:单一视图   D:可靠性   E:实时性

3.高性能(三台zookeeper集群,可以达到12万到13万的QPS)

4.可以通过调用Zookeeper提供的接口来解决一些分布式应用中的实际问题。

Zookeeper的典型应用场景

======================

1.数据发布/订阅

数据发布/订阅 顾名思义就是一方把数据发布出来,另一方通过某种手段可以得到这些数据

通常数据订阅有两种方式:推模式和拉模式,推模式一般是服务器主动向客户端推送消息,拉模式是客户端主动去服务器获取数据(通常是采用定时轮询的方式)。

ZK采用两种方式相结合

发布者将数据发布到ZK集群节点上,订阅者通过一定的方式告诉服务器,我对哪个节点的数据感兴趣,那服务器在这些节点的数据发生变化时,就通知客户端,客户端得到通知后就可以去服务器获取数据消息

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

2.负载均衡

a.首先DB在启动的时候先把自己在ZK上注册成一个临时节点,ZK的节点后面我们会讲到有两种,一种是永久节点,一种是临时节点。临时节点在服务器出现问题的时候,节点会自动的从ZK上删除,那么这样ZK上的服务器列表就是最新的可用的列表

b.客户端在需要读写数据库的时候,首先去它的zookeeper得到所有可用的DB的连接信息(一张列表)

c.客户端随机选择一个与之建立连接

d.当客户端发现连接不可用的时候可再次从ZK上获取可用的DB连接信息,当然也可以在刚获取的那个列表里移除掉不可用的连接后再随机选择一个DB与之连接。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/672781.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号