(一)ZooKeeper 发展历史

在这里插## 标题入图片描述

> 						大家好,我是程序员小羊!

✨博客主页: https://blog.csdn.net/m0_63815035?type=blog

💗《博客内容》:.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识
📢博客专栏: https://blog.csdn.net/m0_63815035/category_11954877.html
📢欢迎点赞 👍 收藏 ⭐留言 📝
📢本文为学习笔记资料,如有侵权,请联系我删除,疏漏之处还请指正🙉
📢大厦之成,非一木之材也;大海之阔,非一流之归也✨

在这里插入图片描述
在这里插入图片描述

前言

ZooKeeper 是 Apache 软件基金会的一个软件项目,它是一个为分布式应用提供一致性服务的软件,分布式应用程序可以基于zooKeeper实现数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。ZooKeeper 现在是一个独立的顶级项目,曾经是 Hadoop 的一个子项目。

一、ZooKeeper-Java到大数据的发展史(以下以历史顺序线发展)

在这里插入图片描述
在这里插入图片描述

1.1大数据的奠基者

1.道格卡廷是大数据的奠基者,不是大数据之父,因为大数据技术最初由谷歌发明但未开源。
2.道格卡廷在谷歌论文的启发下,开发了Hadoop,并将大数据技术开源。

1.2JAVA的发展史

1.JAVA之父詹姆斯高斯林在上公司支持下,成立green公司并开发了格瑞编程语言。
2.green公司参与有线电视机顶盒的竞标,但失败于归途公司。
3.高斯林第二次创业,开发了奥克语言并改名为JAVA。
4.JAVA在1995年的技术发布会上大放异彩,吸引了众多公司的关注。

1.3JavaScript的诞生

1.高斯林的学生布莱登艾瑞克发现了网页开发的巨大潜力,并提出了新的方向。
2.布莱登艾瑞克在green公司的基础上,开发了JavaScript语言,用于增强网页的交互性和性能。
3.JavaScript的命名是为了抱上JAVA这棵大树,以便更好地推广。

1.4数据库的发展史

1.拉里埃里森是一个不喜欢计算机工作的程序员,但他的老婆认为他的工作没有前途而离婚。
2.离婚刺激了拉里埃里森,他决定离职并投身于数据库销售行业。
3.拉里埃里森看中了Oracle数据库的潜力,并与Oracle团队合作,将其推广为商业产品。
4.甲骨文公司成立,拉里埃里森通过包装和推广,使Oracle数据库成为了市场上的热门产品。
5.MySQL的诞生对Oracle构成了竞争威胁,拉里埃里森最终收购了MySQL,并将其更名为MariaDB。

1.5后端业务的发展

1.詹姆斯高斯林在进军万维网失败后,决定转向后端业务开发。
2.他开发了JSP技术,用于在网页中嵌入JAVA代码,简化了网页开发过程。
3.为了解决开发过程中的混乱问题,高斯林提出了MVC开发模型,将页面、模型和控制器分离。
4.他还开发了Servlet和JMI等技术,用于处理web开发和远程方法调用。
5.高斯林还统一了数据库接口,使得不同的数据库可以以统一的方式使用。

1.6后端业务的发展

1.詹姆斯高斯林在进军万维网失败后,决定转向后端业务开发。
2.他开发了JSP技术,用于在网页中嵌入JAVA代码,简化了网页开发过程。
3.为了解决开发过程中的混乱问题,高斯林提出了MVC开发模型,将页面、模型和控制器分离。
4.他还开发了Servlet和JMI等技术,用于处理web开发和远程方法调用。
5.高斯林还统一了数据库接口,使得不同的数据库可以以统一的方式使用。

1.7Spring框架的诞生

1.Spring框架由一个音乐博士开发,他看不惯Struts2的重量级分装,于是开发了轻量级的Spring框架。
2.Spring框架只做轻量的分装,将控制权交给开发者,受到了广泛的欢迎。
3.Spring框架成为了基于JAVA的一站式开发框架,包含了Spring Framework、Spring Boot、Spring Cloud等组件。

1.8Lucene搜索引擎的诞生

1.道格卡廷在施乐公司学习了四年搜索引擎理论后,决定用JAVA实现一个搜索引擎。
2.Lucene是一个底层的搜索引擎库,提供了核心功能但不需要完整的安装过程。
3.道格卡廷在周末花了两年时间开发Lucene,并将其贡献给开源社区。

1.9Nutch搜索引擎的诞生

1.道格卡廷与好友基于Lucene开发了Nutch搜索引擎,解决了海量数据的存储和检索问题。
2.Nutch1.0主要实现了互联网爬虫功能,但缺乏存储海量数据的能力。

1.10Hadoop的诞生

1.道格卡廷在谷歌GFS和MapReduce论文的启发下,开发了Hadoop分布式文件系统和海量数据计算模型。
2.Hadoop解决了海量数据的存储和计算问题,并在雅虎得到了广泛应用。
3.道格卡廷通过复杂的帕克斯尔算法解决了Hadoop的主备切换问题,提高了系统的可用性。

1.11HBase的诞生

1.道格卡廷在谷歌BigTable论文的启发下,开发了HBase海量数据存储系统。
2.HBase提供了快速的数据插入和查询功能,适用于需要高性能数据存储的应用场景。

1.12ZooKeeper的诞生

1.为了解决大数据领域中其他组件的主备切换问题,道格卡廷开发了ZooKeeper协调系统。
2.ZooKeeper基于帕克斯尔算法实现了数据一致性选主和主备切换功能。
3.ZooKeeper简化了大数据组件的开发和部署过程,提高了系统的稳定性和可用性。

今天这篇文章就到这里了,大厦之成,非一木之材也;大海之阔,非一流之归也。感谢大家观看本文

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/90372.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/90372.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenCV快速入门之CV宝典

文章目录OpenCV的基础应用一、OpenCV简介:1.1 OpenCV 优势1.2 OpenCV-Python二、环境安装2.1 环境导入三、图像表示3.1 颜色空间(Color Space)3.2 具体说明3.3 图像在计算机中的表示四、基本图像操作4.1 创建窗口**1. 核心窗口行为控制**cv.W…

LangChain4j 两种类型API

LangChain4j operates on two levels of abstraction: LangChain4j 提供了两种类型API抽象Low level. At this level, you have the most freedom and access to all the low-level components such as ChatModel, UserMessage, AiMessage, EmbeddingStore, Embedd…

CLI 与 IDE 编码代理比较:提升开发效率的两种路径

引言 在当今快速发展的软件开发领域,人工智能编码助手已成为开发者工具箱中不可或缺的一部分。根据行业报告,使用AI编码助手可以将开发速度提高55%以上,同时显著提升代码质量。目前市场上主要有两种类型的编码代理:集成在IDE中的代…

【STM32】FreeRTOS 任务的创建(二)

这篇文章在于 详细解释 FreeRTOS 中任务的创建过程,包括任务创建的本质过程、API 详解、两种创建方式(动态/静态)、任务函数规范、常见错误及实践建议。 这里参照:RTOS官方文档:https://www.freertos.org/zh-cn-cmn-s…

软考 系统架构设计师系列知识点之面向服务架构设计理论与实践(9)

接前一篇文章:软考 系统架构设计师系列知识点之面向服务架构设计理论与实践(8) 所属章节: 第15章. 面向服务架构设计理论与实践 第3节 SOA的参考架构 15.3 SOA的参考架构 IBM的Websphere业务集成参考架构(如图15-2所示,以下简称参考架构)是典型的以服务为中心的企业集…

分区域材料设计:主承重区 / 次承重区 / 足弓区的弹性参数与刺激强度匹配

你是否总在为足部酸痛、膝盖不适或腰背僵硬烦恼?穿了昂贵的缓震跑鞋,用了定制矫形器,问题却反复出现?今天,我们要颠覆一个流传百年的“常识”——脚不是脆弱的“需要被保护的对象”,而是被错误的设计“惯坏…

使用Qt下QAudioOutput播放声音

导读本项目目的是使用QAudioOutput播放声音 ,音频数据来源为ffmpeg解码后的音频数据。Qt音频播放类说明 QAudioFormatQAudioFormat是Qt多媒体框架中用于定义音频格式的核心类,用于设置音频数据的参数,确保与硬件设备兼容。其主要功能和参数如…

日语学习-日语知识点小记-构建基础-JLPT-N3阶段(9):ようなN

日语学习-日语知识点小记-构建基础-JLPT-N3阶段(9):ようなN 1、前言(1)情况说明(2)工程师的信仰2、知识点(1)复习(2)复习&…

洛谷P1512 伊甸园日历游戏

一开始,我发现有“必胜策略”,就知道是博弈论,然后看了两种操作(月份1和天数1),于是想到用记忆化搜索找出所有的可能性 ,但不知道怎么判断当前是否为先手必胜/必败态,使用了TJ方法后…

Kafka——消费者组到底是什么?

引言在分布式系统中,消息中间件的核心价值在于高效地连接生产者与消费者,实现数据的可靠传递。然而,传统消息引擎面临一个两难困境:如何在“消息不重复消费”与“系统可扩展性”之间找到平衡?点对点模型(如…

新mac电脑软件安装指南(前端开发用)

1. 下载git 未下载git直接下载homebrew也会提示你下载git 2. 下载homebrew 介绍: Homebrew 是 macOS 和 Linux 系统的开源包管理器‌,通过命令行实现软件的快速安装、更新和管理,极大简化了开发者及普通用户的工作流程。 命令:…

【HarmonyOS】ArkUI 布局与容器组件

目录前言一、线性布局(Column/Row)1.先布局后内容2.元素在主轴上的排列方式3.元素在交叉轴上的排列方式二、层叠布局(Stack)1.开发布局2.对齐方式三、弹性布局(Flex)四、创建列表(List)五、创建轮播(Swiper)1.基本用法2.常用属性3.样式自定义六、选项卡Tabs1.基本用法2.常用属性…

MCNN-BiLSTM-Attention分类预测模型等!

MCNN-BiLSTM-Attention分类预测模型基于多尺度卷积神经网络(MCNN)双向长短期记忆网络(BiLSTM)注意力机制(Attention)的分类预测模型,matlab代码,直接运行使用!1、模型介绍:针对传统方法在噪声环境下诊断精度低的问题,提…

【Luogu】每日一题——Day12. P3149 排序 (树状数组 + 逆序对)

链接&#xff1a;P3149 排序 - 洛谷 题目&#xff1a; 思路&#xff1a; 经典搭配了 首先我们来分析以下操作的作用&#xff0c;如果我们选了 a[k]&#xff0c;那么对逆序对有什么影响呢&#xff1f; ①.对于 x y&#xff0c;且 x > a[k]&#xff0c;y < a[k] 由于 x…

电商项目_秒杀_架构升级

1. 秒杀当前架构设计nginx节点和订单服务都可以方便的扩容&#xff08;增加机器&#xff09;redis扩容需则需要考虑架构设计当前架构面临的痛点&#xff1a;秒杀系统redis是单节点&#xff08;主从&#xff09;部署&#xff0c;读redis时并发量会成为瓶颈。所以考虑将增加redis…

CodeBuddy IDE发布:编程新时代的颠覆者?

开场&#xff1a;编程界的 “新风暴” 来袭 你能想象&#xff0c;不用敲一行代码就能开发软件吗&#xff1f;这个曾经只存在于科幻电影里的场景&#xff0c;如今已经成为现实&#xff01;就在最近&#xff0c;编程界迎来了一场 “新风暴”——CodeBuddy IDE 重磅发布&#xff…

深度分析Java类加载机制

Java 的类加载机制是其实现平台无关性、安全性和动态性的核心基石。它不仅仅是简单地将 .class 文件加载到内存中&#xff0c;而是一个精巧、可扩展、遵循特定规则的生命周期管理过程。以下是对其深度分析&#xff1a; 一、核心概念与生命周期 一个类型&#xff08;Class 或 In…

神经网络实战案例:用户情感分析模型

在当今数字化时代&#xff0c;用户评论和反馈成为企业了解产品满意度的重要渠道。本项目将通过神经网络构建一个情感分析模型&#xff0c;自动识别用户评论中的情感倾向。我们将使用真实的产品评论数据&#xff0c;从数据预处理到模型部署&#xff0c;完整展示神经网络在NLP领域…

now能减少mysql的压力吗

是否用数据库的 NOW() 能减少 MySQL 的压力&#xff1f;​答案是否定的——使用 NOW() 不仅不会降低压力&#xff0c;反而可能略微增加 MySQL 的负载。以下是详细分析&#xff1a;&#x1f50d; 性能对比&#xff1a;NOW() vs. Java 传参​指标​​Java 传参 (e.g., new Date()…

数据结构01:链表

数据结构 链表 链表和数组的区别 1. 存储方式 数组&#xff1a; 元素在内存中连续存储&#xff0c;占用一块连续的内存空间元素的地址可以通过索引计算&#xff08;基地址 索引 元素大小&#xff09;大小固定&#xff0c;在创建时需要指定容量 链表&#xff1a; 元素&#xf…