1、Hazelcast 是个什么?

官方介绍是分布式计算和存储的一个平台。ok,两点:

  • 分布式存储
  • 分布式计算

2、分布式?

分布式的概念很成熟了,通俗来讲:假设将机器比喻成人,原本由一个人进行数据存储和计算,现在有多个人参与进行。
分布式存储:大家一起参与存储和备份,这样的好处是单个人的负荷小了,而且人多力量大,存储量也上去了。
分布式计算:同理,大家一起算,计算的效率和可计算的数据规模也就上去了。
分布式需要保证的地方也是司空见惯:一致性、高可用、容错性,也就是CPA原则,这个先不谈。

3、分布式成员关系都是什么样的?

而各类平台对于参与存储和计算的算法机制那就是各有不同了,那么对于这些人的权力划分也是各有不同:
有的讲究人人平等,个个都一样。
有的是封建王朝,一人高级,太子次之,其他平等。
有的是议会制,一组人高级,其他平等。
可以看到,和现实社会极其相似,所以是计算机科学是数学也是社会学。

4、Hazelcast 的成员是什么关系?

Hazelcast的成员机制官方称是人人平等,算第一种。 但是有这么个情况,Hazelcast存储会进行分区,然后这些分区由散列算法计算后会基本平均的分配给每个成员,Hazelcast会对这个分区信息进行记录形成一个分区表,而分区表的所有权是属于加入集群最早的那个节点成员,也称为主成员,然后由主成员进行分区表信息的更新,也是由他定时将分区表同步给其他节点,当他kill掉后会由第二早的节点顺位继承这个所有权,以此类推。所以就这么一点来看,还是有所不平等的。

5、Hazelcast 的分布式存储是什么样的?

Hazelcast 官方称不依赖于磁盘存储,将所有运行状态保存在集群的随机存取存储器 (RAM) 中,然后由集群成员的 RAM 组合成一个内存数据存储,这种分布式模型称为_缓存集群。_
Hazelcast 提供了多种数据存储结构,结合提供的API就注定能适应各种应用场景,比如结构Topic可应用到分布式主题(发布/订阅服务器)为智能手机构建可扩展的聊天服务器,

Hazelcast 所有数据都是分区存储的吗?
不是,不同数据结构存在不同存储方式,详情见[《Hazelcast 数据结构》

6、Hazelcast 的分布式计算是什么样的?

上诉得知,Hazelcast 本质是由各节点内存组成的,那么其实也就可以想象的到他的特点:计算速度快,根据他的特性,它可以大批量的添加节点,也就是大批量拓扑缓存,然后进行分布式计算,将算力分摊到各节点,他的计算优势可想而知。
于是乎,Hazelcast 就宣布,他们可以针对事件流和传统数据源进行一致的低延迟查询、聚合和有状态计算。
也即是说:Hazelcast 是可以对外提供算力的。

7、Hazelcast 的分布式计算提供了哪些工具?

  1. Entry processor: 更新、删除和读取集群成员(服务器)上的映射条目。
  2. Executor service: 在集群成员上执行你自己的 Java 代码并接收结果。
  3. Pipeline: 创建一个在集群成员上运行快速批处理或流式处理的数据管道。

有意思的是第2点和第3点。

8、Hazelcast 分布式计算中的Executor service是什么?

Executor service指出:将java代码提交,由集群执行然后返回结果。这一点的成立是建立在Hazelcast 存在嵌入式模式,可以以jar包的形式嵌入java程序,那么由这些java程序为节点组成的集群来执行提交者的代码,就可以分担其他节点的计算需求,且是异步执行的、可取消的,Hazelcast 官方称这个点主要适用于数据库查询、复杂计算和图像渲染。

9、Hazelcast 分布式计算中的Pipeline是什么?

官方称:Pipeline(管道)主要是处理批处理或实时流数据。
那么什么是批处理什么是流处理呢?

  • 批处理:数据量是明确的,可能很多,但是他的数量是明确的,这是有完的。
  • 流处理:数据量是不明确的,最具标识的就是随时间更新的数据,比如实时对某流媒体应用程序性能进行检测,这是没完的。

那么管道到底是什么呢?
其实就是对数据处理方法的定义。主要干三件事:

  • 怎么获取数据
  • 怎么处理加工数据
  • 完事后数据发送给谁

那么可以看见,管道类似一个工具,功能是批数据处理或是对流式数据的处理。
那么既然是工具,工具自身是不会工作的,比如一把锄头,它可以锄地,但锄头自己是不会锄地的,需要人去拿起来用它才能锄地,同理,管道只是一个方法,他自己是不会执行的,他需要提交给一个能把他执行起来的,那就是jet引擎。

也就是说Hazelcast 使用Pipeline将方法的定义和执行分开来做了,这样是有极大好处的:
1、方法的定义是灵活的,且基本没什么性能上的消耗。
2、一个系统负荷最大的就是对数据的处理,而此时Hazelcast的服务集群 接收到用户提交的管道任务后把这部分工作接管过来。你只需要告诉他你要做什么,怎么做,做完给谁,剩下的就不用管了,好似外包出去了,而这个外包效率还很高很可靠,那么这时候对这个系统来讲就太轻松了。

10、什么是jet?

Jet 引擎是一个批处理和流处理系统,它允许 Hazelcast 成员以一致的低延迟对大量数据进行无状态和有状态计算。

jet怎么执行管道?
要让 Jet 引擎运行管道,必须将其提交给成员。到那时,管道就变成了一项_工作_。
当成员收到一份工作时,它会以有向无环图 (DAG) 的形式创建一个计算模型。使用此模型,计算被拆分为分布在集群中所有成员之间的任务,利用所有可用的 CPU 内核。该模型允许 Hazelcast 更快地处理数据,因为任务可以在集群中并行复制和执行。

jet使用与否有什么影响?
那么好,综上得知:jet是一个批处理和流处理的引擎系统,而在Hazelcast 中,管道是来负责数据的批处理和流处理,而管道只是Hazelcast 分布式计算的一种方式,所以得出结论:
只有当Hazelcast 在使用管道进行分布式计算的时候才会使用到jet引擎,其他任何工具任何情况下的使用都不受jet影响。

Hazelcast 知识点认知梳理相关推荐

  1. java重要基础知识点_必看 | 新人必看的Java基础知识点大梳理

    原标题:必看 | 新人必看的Java基础知识点大梳理 各位正在认真苦学Java的准大神,在这烈日炎炎的夏季里,老九君准备给大家带来一个超级大的"冰镇西瓜,"给大家清凉一下,压压惊. ...

  2. 备考通信复试过程中的一些知识点总结梳理——信源编码

    信息编码可以简要分为信源编码和信道编码,我们先来介绍信源编码.信源编码的作用就是将输出信号转变为适合于数字通信系统处理和传输的数字信号,主要目的是提高传输的有效性,降低原始信号的冗余度,通常对数据压缩 ...

  3. PAT乙级题目对应知识点分类梳理例程(更新至1102)

    PAT乙级题目对应知识点分类梳理 PAT乙级的90道题的知识点与对应的题号整理如下,便于做专项练习和巩固! 题型 备注 1.字符串函数 考察字符串相关知识,如逆转.字母与数字的判断与转化.字符串拼接. ...

  4. Java虚拟机垃圾回收相关知识点全梳理(下)

    2019独角兽企业重金招聘Python工程师标准>>> 一.前言 上一篇文章<Java虚拟机垃圾回收相关知识点全梳理(上)>我整理分享了JVM运行时数据区域的划分,垃圾判 ...

  5. PAT甲级题目对应知识点分类梳理

    PAT甲级的106道题的知识点与对应的题号整理如下,便于做专项练习和巩固! 1.数据结构 可以用STL系列 栈:1051 堆:1098 队列:1014.1056 链表:1032.1052.1074.1 ...

  6. 划重点!百度、阿里、腾讯大厂Android面试必问知识点系统梳理,啃一半公司随便挑

    前言 大厂面试一直是我们程序员小伙伴茶余饭后所津津乐道的话题.能进一线互联网大厂工作,也是每个程序员生涯的梦想,为的不仅仅是大厂的种种福利.工作环境和高薪,更为的是大厂的工作氛围,能加入到大牛的圈子, ...

  7. 升职加薪必看!阿里、腾讯大厂Android面试必问知识点系统梳理,深度好文

    前言 今年是转折的一年,很多学android开发的小伙伴失业了,虽找到了一份工作,但高不成低不就,下半年金九银十有想法更换一份工作,很多需要大厂面试经验和大厂面试真题的小伙伴,想提前准备刷下题.接下来 ...

  8. AI大模型知识点大梳理

    文章目录 AI大模型是什么 AI大模型发展历程 AI大模型的底层原理 AI大模型解决的问题 大模型的优点和不足 影响 个人观点 AI大模型是什么 AI大模型是指具有巨大参数量的深度学习模型,通常包含数 ...

  9. iOS知识点收藏梳理

    C 语言 iOS零碎知识--C语言内存分配函数区别 C语言的指针大归纳[三大关系(Five) C语言探索之旅 | 第一部分第五课:运算那点事 Swift 语言 Swift编程风格 Swift语法练习大 ...

最新文章

  1. HttpURLConnection解析
  2. 百度富文本编辑器,改变图片上传存储路径
  3. MSBuild编译扩展
  4. Js实现动态插入删除文本框
  5. linux 用户管理和帮助命令
  6. 通过DataX从Oracle同步数据到MySQL-安装配置过程
  7. SOLID,GRASP和面向对象设计的其他基本原理
  8. 拟合方程是什么matlab,matlab离散型数据拟合方程,求系数,哪个大神能说说方法...
  9. lcy mysql爆破_Lcy’s Blog
  10. lodop同一页面一次性打印多次
  11. 关于PC机相关系统的远程桌面协作的相关介绍和配置(转帖整理)
  12. html5鼠标悬停遮罩,js实现鼠标移动到图片产生遮罩效果
  13. HTTP请求返回415错误解决办法
  14. oracle双活svc,SVC存储虚拟化双活方案
  15. gpt分区android系统备份,win10 (GPT+UEFI)利用GHOST进行备份还原系统迁移
  16. 用C语言程序求两个正整数的最大公约数
  17. AutomationAnywhere(AA)实现读取Excel文件
  18. SpringCloud之Eureka(微服务注册)
  19. 2、yaml语法注解
  20. 「医疗行业」DevExpress助力上海一院HIS系统稳定升级

热门文章

  1. 河南省第五届ACM程序设计竞赛总结
  2. 读《做人的最高境界是厚道》有感
  3. OSC职位推荐:DJI 大疆创新,只招聘偏执狂
  4. 三个字母排列组合c语言,n个球的排列组合算法
  5. 对那个IOCCC程序的进一步分析
  6. IDEA菜单栏Build选项
  7. 用互联网对接传统行业,改良还是颠覆?
  8. 判断闰年的Matlab/Python函数
  9. matplotlib 怎么画核密度
  10. bool变量的使用(整理)