AKF扩展立方体(Scalability Cube),是《架构即未来》一书中提出的可扩展模型,这个立方体有三个轴线,每个轴线描述扩展性的一个维度,他们分别是产品、流程和团队:
X轴 —— 代表无差别的克隆服务和数据,工作可以很均匀的分散在不同的服务实例上;
Y轴 —— 关注应用中职责的划分,比如数据类型,交易执行类型的划分;
Z轴 —— 关注服务和数据的优先级划分,如分地域划分。
运行一个redis实例会有哪些问题
解决问题
问题: 如何解决数据一致性问题
所有节点同步阻塞,直到数据全部一致。
为什么我们要把单机一变多为集群?
问题: 如何解决数据丢失问题?
最终一致性(扯远了)
问题: 最终一致性:master和slave之间维护一个可靠的集群。
但是一个客户端从一个黑盒化的集群中取数据。有可能会从master取到,也有可能从slave中取到,在slave和master数据最终达成一致之前,有可能取到不一致的数据。
CAP理论指的是一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项
老版用法
help slaveof
#新版用法
help replicaof
replicaof 127.0.0.1 6379
redis-server ~/test/6381.conf --replicaof 127.0.0.1 6379
//开启了aof,会导致6379发送全量rdb给6381
redis-server ~/test/6381.conf --replicaof 127.0.0.1 6379 --appendonly yes
配置文件中配置主从复制:
1. replicaof <masterip> <masterport> : 配置master的ip和端口
2. masterauth <master-password> :访问master的密码
3. replica-serve-stale-data yes : 在slave启动时,如果master中的数据量很大,在数据传输过程中,slave中的老的数据对外暴露,如果值为 no 需要同步完才能对外提供服务 。
4. replica-read-only yes :yes表示salve只读;no表示slave支持写入。
5. repl-diskless-sync no : 如果为yes,表示直接走网络发送RDB。
6. repl-backlog-size 1mb : 在master里会维护一个消息队列缓存临时写入的数据,salve如果挂掉后又启动了,master可能会有一个数据的增量,slave可以重新在master里面拿一份RDB恢复数据,也可以用RDB文件给master一个offset,从master队列中根据offset取出增量的数据恢复,这个配置的1mb就是设置这个队列的大小,如果master访问量大,把slave给出的offset对应的数据挤出,那么slave是无法恢复被挤出的数据的,这个时候就触发一个全量的RDB。
7. min-replicas-to-write 3:要求有三个健康的slave,master才能写成功。
8. min-replicas-max-lag 10:延迟小于min-replicas-max-lag秒的slave才认为是健康的slave
总结:
问题: 那么master挂了怎么办? 答案:哨兵机制。
多个哨兵根据过半原则监控redis是否活着进行裁决
#建立三个配置文件26379.conf,26380.conf,26381.conf
port 26379
sentinel monitor mymaster 127.0.0.1 6379 2
port 26380
sentinel monitor mymaster 127.0.0.1 6379 2
port 26381
sentinel monitor mymaster 127.0.0.1 6379 2
redis-server 6379.conf
redis-server 6380.conf --replicaof 127.0.0.1 6379
redis-server 6381.conf --replicaof 127.0.0.1 6379
redis-server 26379.conf --sentinel
redis-server 26380.conf --sentinel
redis-server 26381.conf --sentinel
/*哨兵能自动发现master上面有哪些slave,因为master被slave追随的时候 master就能收到slave的信息,所以哨兵监控master就能知道有哪些slave.但是底层是如何实现的呢?*/
本文地址:https://blog.csdn.net/python_start/article/details/107525579
如对本文有疑问, 点击进行留言回复!!
星际无限CTO张超:IPFS分布式存储领域仍是蓝海,中链云将开启行业新思路!
厉害!俩月吃透阿里P8架构师推荐608页kafka源码,成功入职蚂蚁
性能 1.84 倍于 Ceph!网易数帆开源分布式存储系统 Curve
荐 面试半年,上个月成功拿到阿里P7offer,全靠我啃烂了这份2020最新面试题!
网友评论