随笔分类 -  分布式系统

Hystrix入门与分析(一):初识Hystrix
摘要:在以前的文章中,我们介绍过使用Gauva实现限流的功能,现在我们来了解一下如何在服务框架中实现熔断和降级的方法。 简介Hystrix 大型系统架构的演进基本上都是这样一个方向:从单体应用到分布式架构。这个演进过程离不开一个字“拆”,我们会把一个系统拆成很多子系统,子系统之间一定会存在依赖,有的是强依 阅读全文
posted @ 2017-12-24 18:18 nick hao 阅读(871) 评论(0) 推荐(1) 编辑
自定义Flume Sink:ElasticSearch Sink
摘要:Flume Sink的目的是从Flume Channel中获取数据然后输出到存储或者其他Flume Source中。Flume Agent启动的时候,它会为每一个Sink都启动一个SinkRunner的对象,SinkRunner.start()方法会启动一个新的线程去管理每一个Sink的生命周期。每 阅读全文
posted @ 2017-09-13 21:55 nick hao 阅读(3593) 评论(1) 推荐(2) 编辑
使用RabbitMQ实现延迟任务
摘要:场景一:物联网系统经常会遇到向终端下发命令,如果命令一段时间没有应答,就需要设置成超时。 场景二:订单下单之后30分钟后,如果用户没有付钱,则系统自动取消订单。 上述类似的需求是我们经常会遇见的问题。最常用的方法是定期轮训数据库,设置状态。在数据量小的时候并没有什么大的问题,但是数据量一大轮训数据库的方式就会变得特别耗资源。当面对千万级、上亿级数据量时,本身写入的IO就比较高,导致长时间查询或... 阅读全文
posted @ 2017-03-24 22:15 nick hao 阅读(57371) 评论(8) 推荐(5) 编辑
使用Curator操作ZooKeeper
摘要:Curator是Netflix公司开源的一个ZooKeeper client library,用于简化ZooKeeper客户端编程。它包含如下模块: Framework:Framework是ZooKeeper API的High-Level的封装,它让访问ZooKeeper更加简单。它基于ZooKee 阅读全文
posted @ 2017-03-16 22:06 nick hao 阅读(12046) 评论(0) 推荐(1) 编辑
Kafka学习笔记(二):Partition分发策略
摘要:kafka 阅读全文
posted @ 2016-08-06 12:32 nick hao 阅读(22082) 评论(0) 推荐(3) 编辑
Kafka学习笔记(一):概念介绍
摘要:Kafka 阅读全文
posted @ 2016-07-31 21:35 nick hao 阅读(10448) 评论(2) 推荐(3) 编辑
分布式系统唯一ID生成方案汇总
摘要:唯一ID生成 阅读全文
posted @ 2016-02-27 21:35 nick hao 阅读(174465) 评论(12) 推荐(73) 编辑
基于Twemproxy的Redis集群方案
摘要:redis 阅读全文
posted @ 2014-10-08 20:36 nick hao 阅读(52171) 评论(7) 推荐(3) 编辑
CentOS 6.5 下安装 Redis 2.8.7
摘要:CentOS 6.5 下安装 Redis 2.8.7 阅读全文
posted @ 2014-03-24 13:28 nick hao 阅读(63761) 评论(0) 推荐(7) 编辑
四层和七层负载均衡的区别介绍(转载)
摘要:简单理解四层和七层负载均衡: ①所谓四层就是基于IP+端口的负载均衡;七层就是基于URL等应用层信息的负载均衡;同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡。 换句换说,二层负载均衡会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址;三层负载均衡会通过一个虚拟IP地址接收请求,然后再分配到真实的IP地址;四层通过虚拟IP+端口接收请求,然后再分配到... 阅读全文
posted @ 2013-09-17 13:44 nick hao 阅读(744) 评论(0) 推荐(0) 编辑
分布式系统中的节点失效算法
摘要:分布式系统中的节点失效算法 阅读全文
posted @ 2013-01-15 16:09 nick hao 阅读(3111) 评论(2) 推荐(0) 编辑
分布式系统-一致性哈希
摘要:在大型web应用中,缓存可算是当今的一个标准开发配置了。在大规模的缓存应用中,应运而生了分布式缓存系统。分布式缓存系统的基本原理,大家也有所耳闻。key-value如何均匀的分散到集群中?说到此,最常规的方式莫过于hash取模的方式。比如集群中可用机器适量为N,那么key值为K的的数据请求很简单的应该路由到hash(K) mod N对应的机器。的确,这种结构是简单的,也是实用的。但是在一些高速发展的web系统中,这样的解决方案仍有些缺陷。随着系统访问压力的增长,缓存系统不得不通过增加机器节点的方式提高集群的相应速度和数据承载量。增加机器意味着按照hash取模的方式,在增加机器节点的这一时刻,大 阅读全文
posted @ 2010-09-17 10:06 nick hao 阅读(600) 评论(0) 推荐(0) 编辑
分布式系统-sequence num的生成
摘要:当前有很多分布式系统都采用了不同方法来生成squence num,其中UUID是比较费力气和费空间的方法.在分配squence num时候,其实为了达到数据的分布和均衡效果,是应该把squence num分配给client。现在介绍两种其他生成squence num的方法: 1、通过config server(这个是单独的管理元数据的服务器,不同系统叫法不同,有的叫master server,有的叫root server)来协调生成。 首先该需要生成的squence num的字段需要注册到config server ,然后client需要使用该字段时候,进行insert操作,需要去向c... 阅读全文
posted @ 2010-09-16 15:45 nick hao 编辑