分布式技术

推荐!程序员整理的系统管理员资源大全

倾然丶 夕夏残阳落幕 提交于 2019-12-07 02:14:10
备份 备份软件 Amanda -客户端-服务器模型备份工具 Bacula - 另一个客户端-服务器模型备份工具 Backupninja -轻量级,可扩展的元数据备份系统 Backuppc -客户端-服务器模型备份工具和文件共享方案。 Burp -网络备份和还原程序 Duplicity -使用rsync算法加密的带宽-效率备份 Lsyncd -监控一个本地目录树的变化,然后产生一个进程去同步变化。默认使用rsync。 Rsnapshot -文件系统快照工具 SafeKeep -使用rdiff-backup,集中的,基于pull的备份 TarSnap - 具有一个开源客户端的安全备份服务 UrBackup -另一个客户端-服务器备份系统 DREBS - AWS EBS支持策略的备份脚本 克隆 克隆软件 Clonezilla -分区和磁盘镜像/克隆程序 Fog - 另一个计算机克隆解决方案 Redo Backup -简单的备份,恢复和还原 云计算 AppScale – 兼容Google App引擎的开源云计算软件. Archipel -使用Libvirt管理和监视虚拟机 CloudStack -创建,管理和部署基础云服务的云计算软件 Cobbler -Cobbler是一个Linux安装服务器,允许快速地构建网络安装环境 Eucalyptus -兼容AWS的开源私有云软件 Mesos

一文解读分布式事务 (转)

大城市里の小女人 提交于 2019-12-06 23:46:42
这篇文章将介绍什么是分布式事务,分布式事务解决什么问题,对分布式事务实现的难点,解决思路,不同场景下方案的选择,通过图解的方式进行梳理、总结和比较。 相信耐心看完这篇文章,谈到分布式事务,不再只是有“2PC”、“3PC”、“MQ的消息事务”、“最终一致性”、“TCC”等这些知识碎片,而是能够将知识连成一片,形成知识体系。 什么是事务 介绍分布式事务之前,先介绍什么是事务。 事务的具体定义 事务提供一种机制将一个活动涉及的所有操作纳入到一个不可分割的执行单元,组成事务的所有操作只有在所有操作均能正常执行的情况下方能提交,只要其中任一操作执行失败,都将导致整个事务的回滚。 简单地说,事务提供一种“ 要么什么都不做,要么做全套(All or Nothing)”机制。 数据库事务的 ACID 属性 事务是基于数据进行操作,需要保证事务的数据通常存储在数据库中,所以介绍到事务,就不得不介绍数据库事务的 ACID 特性。 ACID 指数据库事务正确执行的四个基本特性的缩写,包含: 原子性(Atomicity) 整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。 事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。 例如:银行转账,从 A 账户转 100 元至 B 账户,分为两个步骤: 从 A 账户取 100 元。

【翻译笔记】Hadoop分布式文件系统

我与影子孤独终老i 提交于 2019-12-06 20:31:17
摘要 Hadoop分布式文件系统(HDFS)设计用来可靠的存储超大数据集,同时以高速带宽将数据集传输给用户应用。 在一个超大集群中,数以千计的服务器直接接触存储器和执行用户应用任务。 通过许多服务器的分布式存储和计算,资源随需求增长的时候仍然可以保持经济性。 我们解释了HDFS架构,同时介绍了我们在雅虎使用HDFS去管理25PB企业数据的经验。 1、介绍和相关工作 Hadoop 的 一个重要特点是将数据和计算能力划分为小部分,通过许多(数千)主机运行 ,这些主机并行计算得到他们的结果。一个 Hadoop 集群通过简单增加商用服务器的数量来扩展其计算能力,存储能力和 IO 带宽。 1.1、与其他分布式系统的异同点 相同点 HDFS 分别存储文件系统元数据和应用程序数据。 与在 其他分布式文件系统 中相同, 比如 PVFS 【 2 】【 14 】, Lustre 【 7 】和 GFS 【 5 】【 8 】, HDFS 在一个专门的服务器存储元数据,这个服务器被称为名称节点。应用程序数据存储在其他被称为数据结点的服务器上。 不同点 HDFS中的数据节点 并不使用数据保护机制 比如RAID( 独立磁盘冗余阵列 ),以确保数据持久性。 相反。比如GFS, 其文件内容在多个数据节点是重复的以确保可靠性 。 这个策略不仅仅可以确保数据持久性,还有额外的优点:数据变形带宽加倍

分布式消息系统 Kafka 简介

血红的双手。 提交于 2019-12-06 16:46:30
Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一个分布式的,可划分的,冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。 在大数据系统中,常常会碰到一个问题,整个大数据是由各个子系统组成,数据需要在各个子系统中高性能,低延迟的不停流转。传统的企业消息系统并不是非常适合大规模的数据处理。为了已在同时搞定在线应用(消息)和离线应用(数据文件,日志)Kafka就出现了。Kafka可以起到两个作用: 降低系统组网复杂度。 降低编程复杂度,各个子系统不在是相互协商接口,各个子系统类似插口插在插座上,Kafka承担高速数据总线的作用。 1、Kafka主要特点: 同时为发布和订阅提供高吞吐量。据了解,Kafka每秒可以生产约25万消息(50 MB),每秒处理55万消息(110 MB)。 可进行持久化操作。将消息持久化到磁盘,因此可用于批量消费,例如ETL,以及实时应用程序。通过将数据持久化到硬盘以及replication防止数据丢失。 分布式系统,易于向外扩展。所有的producer、broker和consumer都会有多个,均为分布式的。无需停机即可扩展机器。 消息被处理的状态是在consumer端维护,而不是由server端维护。当失败时能自动平衡。 支持online和offline的场景。 2、Kafka的架构

全网最通俗易懂的Kafka入门!

守給你的承諾、 提交于 2019-12-06 16:22:13
摘自: https://www.cnblogs.com/Java3y/p/11982381.html 全网最通俗易懂的Kafka入门! 前言 只有光头才能变强。 文本已收录至我的GitHub仓库,欢迎Star: https://github.com/ZhongFuCheng3y/3y 在这篇之前已经写过两篇基础文章了, 强烈建议 先去阅读: 什么是ZooKeeper? 什么是消息队列? 众所周知,消息队列的产品有好几种,这里我选择学习Kafka的原因,无他,公司在用。 我司使用的是Kafka和自研的消息队列(Kafka和RocketMQ)改版,于是我就想学学Kafka这款消息队列啦。本篇文章对Kafka入门,希望对大家有所帮助。 本文知识点提前预览: 这篇文章花了我很长时间画图,目的是希望以最通俗易懂的方式带大家入门,如果觉得不错, 希望能给我点个赞 ! 一、什么是Kafka? 首先我们得去官网看看是怎么介绍Kafka的: https://kafka.apache.org/intro 在收集资料学习的时候,已经发现有不少的前辈对官网的介绍进行翻译和总结了,所以我这里就不重复了,贴下地址大家自行去学习啦: https://scala.cool/2018/03/learning-kafka-1/ https://colobu.com/2014/08/06/kafka

Kafka初识

亡梦爱人 提交于 2019-12-06 14:22:36
转载自 https://www.cnblogs.com/luotianshuai/p/5206662.html Kafka初识 1、Kafka使用背景 在我们大量使用分布式数据库、分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位 我想对用户的搜索关键词进行统计,分析出当前的流行趋势 有些数据,存储数据库浪费,直接存储硬盘效率又低 这些场景都有一个共同点: 数据是由上游模块产生,上游模块,使用上游模块的数据计算、统计、分析,这个时候就可以使用消息系统,尤其是分布式消息系统! 2、Kafka的定义 What is Kafka:它是一个分布式消息系统,由linkedin使用scala编写,用作LinkedIn的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础。具有高水平扩展和高吞吐量。 3、Kafka和其他主流分布式消息系统的对比 定义解释: 1、Java 和 scala都是运行在JVM上的语言。 2、erlang和最近比较火的和go语言一样是从代码级别就支持高并发的一种语言,所以RabbitMQ天生就有很高的并发性能,但是 有RabbitMQ严格按照AMQP进行实现,受到了很多限制。kafka的设计目标是高吞吐量,所以kafka自己设计了一套高性能但是不通用的协议

分布式技术笔记

吃可爱长大的小学妹 提交于 2019-12-06 12:34:49
RMI: https://www.jianshu.com/p/de85fad05dcb rpc: https://baike.baidu.com/item/%E8%BF%9C%E7%A8%8B%E8%BF%87%E7%A8%8B%E8%B0%83%E7%94%A8%E5%8D%8F%E8%AE%AE/6893245?fromtitle=RPC&fromid=609861&fr=aladdin 分布式服务限流: https://www.cnblogs.com/Javajishuzhai/p/11358138.html 来源: https://www.cnblogs.com/yyjh/p/11984086.html

终极手撕之架构大全:分布式+开源框架+微服务+性能优化,够不够?

谁都会走 提交于 2019-12-06 10:20:01
终极手撕之架构大全:分布式+开源框架+微服务+性能优化,够不够? 一只Tom猫4小时前 我要分享 之前有零零散散整理过一些专题给大家参考学习,这次一次性来个终极手撕之架构大全,包含开源框架、分布式、微服务、性能优化等四个大专题共17个小专题,全部一锅端,送给大家一起学习~ 注意:需要全部完整版架构大全答案的可以 【“点击我”免费领取】 《终极手撕之架构大全:分布式+开源框架+微服务+性能优化,够不够?》 01 开源框架(Spring +SpringMVC+Mybatis) 开源框架答案解析如下: 1.1 手撕开源框架之Spring 什么是 Spring 框架?Spring 框架有哪些主要模块? 使用 Spring 框架能带来哪些好处? 什么是控制反转(IOC) 请解释下 Spring 框架中的 IoC BeanFactory 和 和 ApplicationContext 有什么区别? Spring 有几种配置方式? 如何用基于 XML 配置的方式配置 Spring 如何用基于 Java 配置的方式配置 Spring 怎样用注解的方式配置 Spring 请解释 Spring Bean 的生命周期? Spring Bean 的作用域之间有什么区别? Spring 框架中的单例 Beans 是线程安全的么? 请举例说明如何在 Spring 中注入一个 Java Collection

两大主流开源分布式存储的对比:GlusterFS vs. Ceph

微笑、不失礼 提交于 2019-12-06 08:22:00
两大主流开源分布式存储的对比: GlusterFS vs. Ceph 存储世界最近发生了很大变化。十年前,光纤通道SAN管理器是企业存储的绝对标准,但现在的存储必须足够敏捷,才能适应在新的基础架构即服务云环境内运行。 GlusterFS和Ceph是在现代云环境中表现最出色的两个敏捷存储系统。 在讲述GlusterFS和Ceph的相同点和区别之前,我们先谈一谈云环境中敏捷存储的一些关键点。 纵向升级和横向扩展。在云环境中,很容易向服务器添加更多存储空间和扩展可用存储池。Ceph和GlusterFS都符合这一需求,让新的存储设备可以轻松融入现有存储产品环境。 高可用。GlusterFS和Ceph都会使用复制方法将数据同时写入不同存储节点。这种运作模式会增加读写次数,但同时也确保了数据的可用性。以Ceph为例,数据在默认情况会被复制到三个不同的节点,确保数据副本一直可用。 通用的硬件。GlusterFS和Ceph的开发基础都是Linux操作系统(OS)。因此,对于硬件的唯一要求就是:能够正常运行Linux即可。由于几乎任何商品硬件都能运行Linux操作系统,只要选择这些存储技术,这些技术的使用单位就可以大幅节省硬件投入。实际上,有许多公司也正在投资专用于GlusterFS或Ceph的硬件平台,因为专门优化的硬件可以更快速高效地访问存储空间。 去中心化

Hadoop——HBase的体系结构简介

和自甴很熟 提交于 2019-12-06 06:30:55
2019-12-01 12:23:06 HBase HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。 HBase 和 HDFS 来源: https://www.cnblogs.com/JasonPeng1/p/11965610.html