redis-cluster
什么是集群Cluster集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理 集群与哨兵有什么区别 Sentinel哨兵,是为系统提供高可用特性,每一个Redis节点数据是同步的,且每一个Redis节点保存的都是全量数据 Cluster集群是将超大数据集打散到多台Redis服务器,可对存储规模进行水平扩容,每一个Redis节点存储的都是完整数据的子集. Redis集群模式介绍 Cluster模式是Redis3.0开始推出 采用无中心结构,每个节点保存数据和整个集群状态, 每个节点都和其他所有节点连接 官方要求:至少6个节点才可以保证高可用,即3主3从;扩展性强、更好做到高可用 各个节点会互相通信,采用gossip协议交换节点元数据信息 数据分散存储到各个节点上
redis-sentinel
Redis Sentinel为Redis提供了高可用解决方案。实际上这意味着使用Sentinel可以部署一套Redis,在没有人为干预的情况下去应付各种各样的失败事件。 Redis Sentinel同时提供了一些其他的功能,例如:监控、通知、并为client提供配置。 下面是Sentinel的功能列表: 监控(Monitoring):Sentinel不断的去检查你的主从实例是否按照预期在工作。 通知(Notification):Sentinel可以通过一个api来通知系统管理员或者另外的应用程序,被监控的Redis实例有一些问题。 自动故障转移(Automatic failover):如果一个主节点没有按照预期工作,Sentinel会开始故障转移过程,把一个从节点提升为主节点,并重新配置其他的从节点使用新的主节点,使用Redis服务的应用程序在连接的时候也被通知新的地址。 配置提供者(Configuration provider):Sentinel给客户端的服务发现提供来源:对于一个给定的服务,客户端连接到Sentinels来寻找当前主节点的地址。当故障转移发生的时候,Sent...
rust基本语法特性
println!宏 println!宏中的格式化形式列表如下: nothing代表Display,比如println!(“{}”,2)。 ?代表Debug,比如println!(“{:?}”,2)。 o代表八进制,比如println!(“{: o}”,2))。 x代表十六进制小写,比如println!(“{:x}”,2)。 X代表十六进制大写,比如println!(“{:X}”,2)。 p代表指针,比如println!(“{:p}”,2)。 b代表二进制,比如println!(“{:b}”,2)。 e代表指数小写,比如println!(“{:e}”,2)。 E代表指数大写,比如println!(“{:E}”,2)。 const_fn CTEF机制(Compile-Time Function Execution) 在编译时函数执行 2018版本不需要加#![feature(const_fn)] 使用const fn定义的函数必须可以确定值,不能存在歧义。 与fn的区别在于,const fn可以强制编译器在编译期执行函数,其中const一般用于定义全局变...