自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

胜天半子

少时学语苦难圆,只道功夫半未全。到老方知非力取,三分人事七分天。

  • 博客(9)
  • 问答 (1)
  • 收藏
  • 关注

原创 Redis五种数据结构的底层实现

一、前言Redis有五种基本数据结构:字符串、hash、set、zset、list。下面解释下载Redis 3.0.6版本中底层是怎样实现他们的。二、动态字符串SDSSDS是“simple dynamic string”的缩写。Redis中所有场景出现的字符串,基本都是有SDS来实现的:所有非数字的key, 如:set msg “hello” 中的key msg字符串数据类型的值,如:set msg “hello” 中的value “hello”非字符串数据类型中的“字符串值”,如:rpush

2020-09-30 18:36:38 1090

原创 Redis性能优化的13条军规

一、前言Redis是基于单线程模型实现的,即Redis使用一个线程来处理所有客户端请求,尽管Redis使用了非阻塞式IO,并且对各种命令都做了优化(大部分命令操作时间复杂度都是O(1)),但由于Redis单线程执行的特点,他对性能的要求更近苛刻。二、Redis操作最佳实践我们通过以下手段来提升Redis的运行速度:1、缩短key/value的存储长度2、使用lazy free(延迟删除)特性3、设置key/value的过期时间4、禁用长耗时的查询命令5、使用slowlog优化耗时命令:怎样使

2020-09-30 12:26:04 558

原创 Kafka副本同步机制

一、Kafka副本同步机制Kafka中topic的每个partition有一个预写式日志文件,每个partition都由一系列有序的、不可变的消息组成,这些消息被连续的追加到partition中,partition中的每个消息都有一个连续的序列号叫做offset,确定他在partition中的唯一位置。kafka每个topic的partition有N个副本,其中N是topic的复制因子,Kafka通过多副本机制实现故障自动转移,当Kafka集群中一个Broker失效情况下,仍可保证服务可用。在Kafk

2020-09-29 15:34:01 3718 2

原创 快手Kafka集群演进之路学习笔记

https://www.infoq.cn/article/Q0o*QzLQiay31MWiOBJH/一、背景2019年快手Kafka集群日消息处理量为数万亿级别,峰值超过1亿/s。在快手,Kafka集群被分成3类:在线集群:作为消息中间件,为不同在线业务之间提供异步的消息通知服务Log集群:业务集群直接将log打给Kafka,并通过Kafka进行传输和收集,由于数据在业务应用层不落地,所以这个过程不能出现由于Kafka问题导致业务受到影响,这对Kafka可用性要求很高;Log集群还为重要的实时计

2020-09-27 21:56:13 519 1

原创 Level DB 学习笔记

一、前言1.1、作者简介Level DB是由google的两位大神级工程师Jeff Dean和Sanjay Ghemawat发起的开源项目。Jeff Dean:Google大规模分布式平台Bigtable和MapReduce的主要设计和实现者Sanjay Gghemawat:Google大规模分布式平台GFS,Bigtable和MapReduce主要设计和实现工程师。1.2、LevelDB简介LevelDB能够处理10亿级别规模的Key-Value持久性存储数据的C++程序库。Bigtable

2020-09-24 20:52:46 252 1

原创 Raft 协议学习笔记

https://zhuanlan.zhihu.com/p/27207160一、前言分布式存储系统通常通过维护多个副本来进行容错,提高系统的可用性。这就必须要解决分布式存储系统的最核心问题:维护多个副本的一致性。

2020-09-23 18:29:35 1475

原创 四层负载与七层负载的区别

一、什么是负载均衡将大量的并发请求转给后端多个节点处理,减少工作响应时间,后端节点处理完再经过负载均衡返回给用户。目前负载均衡大多数用于提高如Web服务器、FTP服务器等Internet服务器程序的可用性和可伸缩性。二、负载均衡的分类1、二层负载均衡(MAC地址)根据OSI模型分的二层负载,一般用虚拟mac地址的方式,外部对虚拟MAC地址请求,负载均衡接受后,分片后端实际的MAC地址响应。2、三层负载均衡(IP)一般采用虚拟IP的方式,外部对虚拟IP地址请求,负载均衡接收后,分配后端实际的IP

2020-09-23 18:11:42 6476 2

原创 Redis Cluster路由请求原理详解

https://cloud.tencent.com/developer/article/1605813Redis Cluster的客户端采用直连Redis的方式。一、MOVED重定向Redis Cluster发送redis指令时,先根据key计算出对应的slot,在根据slot从客户端的slot与node的映射表中找到对应的node,然后发送redis指令:如果指令在这个node上,则处理指令;如果不在这个node上,则redis会返回给客户端MOVED重定向错误,通知客户端重新请求正确的nod

2020-09-17 15:15:45 2030

原创 redis-cluster-operator学习笔记

开源地址:https://github.com/ucloud/redis-cluster-operator一、概述Redis Cluster Operator用于管理基于k8s的Redis Cluster该operator基于Operator framework之上(https://github.com/operator-framework/operator-sdk)每个master node和slave node由一个statefulset管理,每个statefulset创建一个headless

2020-09-02 16:50:23 1914

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除