架构
文章平均质量分 94
hadixlin
这个作者很懒,什么都没留下…
展开
-
Proxy-Style Redis集群设计
Proxy-Style Redis集群设计概述:为了实现Redis作为内存数据库时的横向扩展和高可用,大致有如下三种方案.1. Proxy-Style2. Redis-Cluster3. Proxy-Style(Twemproxy,Codis)本文对三种方法做简要说明和比较,主要对Proxy-Style做展开描述.原创 2016-01-26 14:14:42 · 3071 阅读 · 0 评论 -
去中心Redis-Cluster规范(二)-主要组件概述
去中心Redis-Cluster规范(二)本文翻译自官方文档Redis-Cluster主要组件概述键分布模型键(key)空间被分割为16384个槽(slot),实际上这限制了Redis-Cluster最大主节点数为16384.(然而,建议的集群最大节点数约为1000)每个主节点处理16384个槽中的一部分.当集群没有在执行任何重配置操作(例如hash slot从一个节点...翻译 2018-08-07 23:04:15 · 6587 阅读 · 0 评论 -
魅族生活服务数据同步优化方案
生活服务数据同步优化方案生活服务数据同步优化方案数据落地方案数据分析程序架构:程序抽象进一步优化数据落地方案数据分析生活服务需要定时拉取保存的数据有“商户,团购,电影”三类. 数据项 数据量 下载文件尺寸 是否有分页 更新频率 团购 400w+ 13G+ 是 高 商户 200W...原创 2018-08-07 16:12:11 · 6573 阅读 · 0 评论 -
魅族图片服务2.0
魅族图片服务2.0魅族图片服务2.0图片服务1.0现状及问题图片服务2.0功能需求设计说明设计目标图片处理方案元数据结构设计与存储高可用文件存储存储设备方案软件架构部署架构业务接入方式设计图片服务1.0现状及问题使用MFS作为存储,有单点失效问题IO性能差,经常不可用.代码耦合度高,不易拆分功能模块,难以维护和扩展新功能.调用第三方图片...原创 2018-08-07 15:49:15 · 2431 阅读 · 0 评论 -
通过分拆库存记录提升并发性
通过分拆库存记录提升并发性在许多互联网业务中扣除库存操作往往是瓶颈点,例如电商的秒杀活动,派发优惠券等等.因为数据库单挑记录只能串行操作,所有的并发访问需要加排他锁进行访问.在不向系统中引入其他组件的情况下可以通过将库存记录拆分为多条来提升并发性.基本方案如下.数据库中为每个批次建立多条记录,拆分库存以降低竞争.应用服务器在第一个访问发起时,初始化批次库存记录数组. 0...原创 2018-08-07 14:59:44 · 2462 阅读 · 0 评论 -
魅族秒杀活动优化
秒杀活动优化点优化缓存设计以减少交互次数例如:使用hmget一次性读取需要的数据;将相关数据打包在一起可以通过单个key访问返回针对秒杀活动指定业务状态枚举来表示正常逻辑错误减少使用异常控制逻辑分支.(找不到子活动,活动没开始,活动结束,用户参与过)这些状态,可以直接用状态枚举返回.某些业务逻辑不相关的操作可以异步处理记录活动监控数据这些,异步处理失败也不会影响正常业务,监控...原创 2018-08-07 14:44:56 · 2630 阅读 · 0 评论 -
去中心Redis-Cluster规范(一)-主要特性和设计依据
去中心Redis-Cluster规范(一)本文翻译自官方文档Redis-Cluster目标Redis-Cluster是redis的分布式实现,设计目标如下(按重要程度排序):高性能可以线性扩展到1000个节点.没有代理节点,不需要在执行多个值的合并操作,使用异步复制.可接受的’写’安全性.系统尽最大努力保存连接在大多数节点的客户端的写操作.通常被确认的写操作只有小概率可能丢...翻译 2018-08-07 14:14:08 · 3146 阅读 · 0 评论 -
去中心Redis-Cluster规范(四)-故障容忍
去中心Redis-Cluster规范(四)本文翻译自官方文档 这篇翻译的精确度可能不足,建议读者参考原文进行阅读.故障容忍心跳和流言消息Redis-Cluster节点间持续交换ping和pong数据包.这两种数据包具有相同的结构,并且都携带了重要的配置信息.只有消息类型字段是唯一的不同点.接下来我们会将ping和pong数据包统称为心跳(heartbeat)数据包...翻译 2018-08-10 15:52:06 · 6892 阅读 · 0 评论 -
去中心Redis-Cluster规范(三)-重定向和重哈希
去中心Redis-Cluster规范(三)本文翻译自官方文档重定向和重哈希MOVED重定向Redis客户端可以自由想集群内的任何节点(包括从节点)发送查询指令.收到指令的节点会分析查询指令,如果指令可接受(查询指令中只有一个key,或者多个属于相同hash slot的key)会查找指令中的key隶属的hash slot由哪个节点负责.如果hash slot由当前节点服务...翻译 2018-08-09 22:50:18 · 8544 阅读 · 0 评论 -
去中心Redis-Cluster规范(五)-配置处理,传播,故障转移
去中心Redis-Cluster规范(五)本文翻译自官方文档配置处理,传播,故障转移集群当前时代(epoch)Redis-Cluser使用一个概念类似Raft算法中的”term”,在Redis-Cluster中被称为时代(epoch),用来标记事件的递增版本.当多个节点提供了冲突的信息时,其他节点可以懂得哪个状态才是最新的.currentEpoch是个64位的无符号数....翻译 2018-08-13 18:11:11 · 7020 阅读 · 0 评论