随笔分类 - 分布式
摘要:认识分布式数据库 分布式数据库就是在分布式架构下实现的关系型数据库。
阅读全文
摘要:读写分离优化了互联网读多写少场景下的性能问题,考虑一个业务场景,如果读库的数据规模非常大,除了增加多个从库之外,还有其他的手段吗?实现数据库高可用,还有另外一个撒手锏,就是分库分表。 为什么要分库分表 一般Mysql一个单库最多支持并发量到2000,且最好保持在1000。如果有20000并发量的需求
阅读全文
摘要:Lease机制,翻译过来即是租约机制,是一种在分布式系统常用的协议,是维护分布式系统数据一致性的一种常用工具。 Lease机制有以下几个特点: 1.Lease是颁发者对一段时间内数据一致性的承诺; 2.颁发者发出Lease后,不管是否被接收,只要Lease不过期,颁发者都会按照协议遵守承诺; 3.L
阅读全文
摘要:在分布式系统中有个CAP理论,对于P(分区容忍性)而言,是实际存在 从而无法避免的。 因为分布式系统是由多个节点(指代一台服务器、存储设备等)构成,由于网络异常、宕机等节点并不能保证正常工作,特别是在节点数量很大的时候,出现异常状况的节点几乎是肯定的。为了保证系统的正常运行,能够提供可靠的服务,分布
阅读全文
摘要:ZAB一致性协议 ZAB ( ZooKeeper Atomic Broadcast , ZooKeeper 原子消息广播协议)是zookeeper数据一致性的核心算法。 ZAB协议论文地址:http://www.tcs.hut.fi/Studies/T-79.5001/reports/2012-de
阅读全文
摘要:一. 什么是分布式事务 分布式事务关注的是分布式场景下如何处理事务,是指事务的参与者、支持事务操作的服务器、存储等资源分别位于分布式系统的不同节点之上。简单来说,分布式事务就是一个业务操作,是由多个细分操作完成的,而这些细分操作又分布在不同的服务器上,事务,就是这些操作要么全部成功执行,要么全部不执
阅读全文
摘要:电商网站都会遇到秒杀、特价之类的活动,大促活动有一个共同特点就是访问量激增,在高并发下会出现成千上万人抢购一个商品的场景。虽然在系统设计时会通过限流、异步、排队等方式优化,但整体的并发还是平时的数倍以上,参加活动的商品一般都是限量库存,如何防止库存超卖,避免并发问题呢?分布式锁就是一个解决方案。 什
阅读全文
摘要:LevelDb介绍 我们知道memcache和redis是互联网分层架构中,最常用的KV缓存。而LevelDb是Google开源的一款NOSQL存储引擎库。 官网:http://leveldb.org/ goleveldb 这里介绍的使用go语言实现的leveldb(在以太坊中使用的) github
阅读全文
摘要:介绍 etcd是一款高性能的开源的分布式key-value分布式存储系统,可以用于配置共享和服务的注册与发现等功能。类似于zookeeper和consul。 etcd 诞生于 CoreOS 公司,它最初是用于解决集群管理系统中 OS 升级的分布式并发控制以及配置文件的存储与分发等问题。正如etcd官
阅读全文
摘要:我们经常在电视新闻里听见某某黑客组织对某个国家网站进行了DDOS攻击的新闻。 那么DDoS是什么, 这篇文章将聊聊DDoS攻击。 DDoS攻击概念 DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。
阅读全文
摘要:什么是幂等性 在分布式系统中,多系统之间接口调用的时候我们经常听到幂等性,那么幂等是啥?幂等最早是一个数学概念,在数学与计算机学中幂等(Idempotence) 是指相同参数重复执行,并能获得相同结果的函数。这里还有个公式:f(f(x)) = f(x)。 在编程领域里通俗说是指一个操作重复执行N次得
阅读全文
摘要:引言 现在越来越多的系统都会用到缓存,只要使用缓存就可能涉及到缓存数据与数据库数据之间双写双存储,只要双写就会遇到数据一致性的问题,除非只有一个数据库服务器,数据一致性问题也就不存在了。 缓存的作用 1. 临时存储,用于提高数据查询速度。 比如CPU的L1高速缓存和L2高速缓存,缓存主要是为CPU和
阅读全文
摘要:在分布式系统中,一致性是指在集群中的多个网络节点在状态上达成一致。但是在现实场景中,由于程序的奔溃,网络故障,网络延迟,硬件故障,断电,黑客攻击等原因,节点之间很难保证一致性,这样就需要Paxos,Raft等一致性协议。通过一致性算法的协调处理来保证数据状态的一致性,所以一致性算法非常重要。 基于消
阅读全文
摘要:Storm简介: Storm起源Twitter开源的一个类似于Hadoop的实时数据处理框架,不过两则还是有区别的,Hadoop是批量处理数据,而Storm处理的是实时的数据流。 Storm应用场景: 1.推荐系统:实时跟新模型查询并推荐,根据下单或者加入购物车推荐相关商品。 1.网站统计:实时销量
阅读全文
摘要:Spark简介: Spark是一个快速且通用的集群计算平台,可以处理大数据量时候,比如几T到几P量级时候只需要几秒钟到几分钟,相对于hadoop几分钟到几小时速度是很快的,通用是指Spark的使用场景非常多。 官网地址:http://spark.apache.org/ Spark特点: 1.Spar
阅读全文
摘要:Gossip是一种分布式一致性协议,在 Cassandra、Akka、Redis 都有用到,也是P2P网络的核心技术。Gossip是一种去中心化、容错而又最终一致性的算法。 Gossip协议设计思路 Gossip protocol 也叫 Epidemic Protocol (流行病协议),实际上它还
阅读全文
摘要:kafaka简介 kafka之前是有LinkedIn开发并开源的,LinkedIn之前也开源过很多系统,比如下面: 1. 分布式数据同步系统Databus,是一个低延迟、可靠的、支持事务的、保持一致性的数据变更抓取系统。它可以将来源无关的数据同步,比如我们项目有很多数据来源,那么我们可以将这些数据同
阅读全文
摘要:什么是负载均衡? 负载均衡(Load Balance)其意思就是将计算任务分摊到多个操作单元上进行执行,以达到最优化资源使用,最大化吞吐,最小响应时间,同时避免系统过载,来共同完成工作任务。利用多台服务器提供单一服务,这种方式叫做服务器农场或者服务器集群。 为什么需要负载均衡 当系统面临大量用户访问
阅读全文
摘要:在应用程序中,经常需要全局唯一的ID作为数据库主键。如何生成全局唯一ID? 首先,需要确定全局唯一ID是整型还是字符串?如果是字符串,那么现有的UUID就完全满足需求,不需要额外的工作。缺点是字符串作为ID占用空间大,索引效率比整型低。 如果采用整型作为ID,那么首先排除掉32位int类型,因为范围
阅读全文
摘要:什么是HDFS? Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS来源于google的GFS的一篇论文,这篇论文发表于2003年,HDFS是GFS的开源实现。提供了高可靠性、高扩展性、高吞吐率的数据存储服务。HDFS是Had
阅读全文