分布式系统定义:
是一个在硬件和软件组件分布在不同在网络计算机之间,彼此只是通过消息传递进行通信和协调的的系统。
分布式系统特性:
A 机器多点分布
B 对等性,分布式系统没有主从之分,所有的机器都是对等的。Replica(副本)是分布式系统的常见概念,主要包括数据与服务的冗余,具体是指在不同的节点上持久化同一份数据
C 并发性,一个分布式系统中,可能会并发的操作并访问一些共享的资源,储如数据库和分布式存储。
D 全局时钟
E 故障总会发生
事务隔离级别:
A 读未提交
B 读已提交
C 可重复读
D 串行
例子来说明:
隔离级别对比:
总结:事务隔离级别越高,性能越差。推荐读已提交,然后通过程序利用乐观锁或者悲观锁来做。
分布式事务理论:
CAP:
理论应用:
BASE:基本可用,弱状态,最终一致性
一致性理论:
ZAB,还没有完全理解,后续添加
Zookeeper的应用场景:
A 数据发布与订阅,比如相关配置伯集中化管理
B 负载均衡,动态DNS的运用
C 命名服务,具体就是全局唯一标识的生成
D 分布式协调、通知
E 集群管理,如日志收集
F Master选举
G 分布式锁
H 分布式队列
Zookeeper客户端:Curator,顶级apache项目, zookeeper的核心提交者对它的评价“curator is to Java what Curator is to ZooKeeper!”。下一篇带来通过Curator操作Zookeeper的例子。
相关推荐
在活锁状态下,系统中的节点不断尝试达成一致性,但由于各种原因未能成功,导致系统不能向前推进。 为了理解和分析Zookeeper如何通过Paxos算法保证数据的一致性,我们可以通过具体的实例来进一步解析。例如,假设有...
《SOLR学习笔记及相关教程综合解析》 SOLR,全称为Apache Solr,是Apache软件基金会的一个开源项目,是基于Java的全文检索服务器。它提供了高效、可扩展的搜索和导航功能,广泛应用于各类企业的信息检索系统。这篇...
【HADOOP学习笔记】 Hadoop是Apache基金会开发的一个开源分布式计算框架,是云计算领域的重要组成部分,尤其在大数据处理方面有着广泛的应用。本学习笔记将深入探讨Hadoop的核心组件、架构以及如何搭建云计算平台。...
【Kafka学习笔记】 Kafka是由LinkedIn开发的分布式日志系统,后来成为Apache顶级开源项目。它是一个设计为高吞吐、低延迟的系统,特别适用于处理和存储大量实时数据。Kafka的主要特点包括分布式、分区、多副本以及...
最后,Hadoop是一个不断演进的技术栈,随着版本的更新,新的特性和组件也会被添加进来。学习Hadoop不仅要关注当前的架构和组件,还需要持续跟踪其发展动态,以便更好地把握和应用这项技术。对于初学者而言,了解...
Java架构面试专题汇总是针对Java开发人员在求职或者晋升时可能会遇到的一系列技术问题的集锦,涵盖了从基础到高级...同时,结合个人学习笔记,不断反思和总结,将理论知识转化为实际操作能力,进一步提高自己的竞争力。
本文将基于私塾在线《Hadoop实战——初级部分》的学习笔记,深入探讨Hadoop的基本概念、核心组件以及在实际中的应用。 #### 二、为何选择学习Hadoop 1. **市场需求**:当前社会产生了大量的数据,例如每分钟...
【大数据入门笔记系列】第二节 Zookeeper简介 Zookeeper是一个分布式协调服务,它是Apache Hadoop项目的一个子项目,专为大规模分布式应用设计。Zookeeper的主要功能包括配置管理、命名服务、分布式同步、组服务等...
### Hadoop学习笔记知识点梳理 #### 一、Hadoop简介 - **定义**: Hadoop是一个开源的分布式计算框架,能够支持大规模数据集的处理。它最初由Apache软件基金会开发,旨在提供一种简单高效的分布式计算解决方案。 - ...
【SpringCloud笔记】是关于微服务架构的学习资料,主要涵盖了SpringCloud的基本概念、核心组件以及实战技巧。...在学习过程中,不断实践和探索,将理论知识转化为实际能力,提升个人在微服务领域的专业素养。
4. **Zookeeper的使用**:Storm依赖Zookeeper来协调集群中的各个节点,学习如何配置和使用Zookeeper对Storm进行管理。 5. **监控与调试**:掌握如何通过Web UI监控拓扑的状态,以及如何调试运行中的拓扑,定位并...
【k8s集群安装与监控】是现代云原生环境中不可或缺的部分,它涉及到容器编排、服务发现、负载均衡以及全面的系统监控等多个关键领域。...通过不断的学习和实践,我们可以掌握这一核心技能,更好地驾驭云原生的世界。
以上是对Hadoop基础知识的概括,详细的讲义和笔记可能还会包含更多案例分析、实战技巧和故障排查等内容,帮助学习者深入理解Hadoop并提升大数据处理能力。通过系统学习和实践,你可以掌握Hadoop的核心技能,应对...
备考过程中,考生应全面了解大数据的理论基础,同时熟悉相关工具的使用,通过实践项目提升技能。对于未涵盖的数据库系统,考生可以自学补充,以便在实际工作中能够灵活运用。此外,关注最新技术和趋势,如云计算、...
根据给定文件的信息,我们...综上所述,作为一名Java开发工程师,不仅需要具备扎实的技术功底和丰富的实践经验,还需要不断学习新知识,提高自身的综合能力。此外,良好的团队协作能力和积极的学习态度也是不可或缺的。
《深入理解HBase 1.2.6:从源码到实战》 HBase,全称为Hadoop Database,是一款基于谷歌Bigtable理念设计的开源分布式列式存储系统,专为大规模数据...同时,持续关注社区更新和最佳实践,以适应不断发展的技术需求。
### 后端开发学习指南:从入门到精通的路径规划 #### 一、基础编程语言 在后端开发中,选择合适的编程语言是至关重要的第一步。以下几种编程语言被广泛应用于后端开发: 1. **Java**:Java 是一种跨平台的面向...