redis:
内存中的数据结构存储系统,可以用作数据库、缓存、消息中间件。
k-v字典存储系统,跨平台的非关系型数据库。
支持网络、基于内存、分布式、可选持久化。
LRU驱动事件,事务,不同级别的磁盘持久化。
redis哨兵(sentinel), 自动分区。
哨兵模式(sentinel):哨兵系统可以监控一个或多个redis master服务,以及从服务,某个master下线后,自动将该master从服务升级为master来代替。
redis发布(publish)-订阅(subscribe), 一种消息通信模式,发送者(pub)发布消息,订阅者(sub)接收消息.
新消息通过PUBLISH命令发送到频道channel中时,这个消息就会被发送给订阅它的所有客户端。
redis stream: 用于消息队列(MQ, Message Queue), 提供消息持久化,主备复制功能,
—————-
MQ(Message Queue),消息队列
分布式项目中,MQ基本都是必备消息中间件。
目的:异步处理,提高系统性能,降低系统耦合。
(异步处理:减小高并发的压力,
消息队列的处理速度快于数据库,消息队列的伸缩性更好,
短时间高并发产生的事务存储在消息队列中,
生产者消费者模式,事件驱动结构。。
系统可用性降低:引入了一个新模块,消息丢失 mq挂掉,
系统复杂性提高:重复消费、消息丢失、消息顺序。。
一致性问题:是异步的。。
常用Kafka优点
核心功能强大,吞吐量高,ms级延迟,高可用可靠性,分布式任意拓展, 存在消息重复消费。。
———-
缓存服务
pika:
360开发的一个类redis存储系统,完全支持redis协议,
pika针对redis的一些问题而进行的优化
(redis内存限制、主从高可用问题、启动恢复时间长、缓冲区容易写满)
pika优势在于多线程, redis单线程性能厉害。
etcd 和 redis都是键值存储库
etcd:核心在于分布式存储,强调各个节点之间通信、同步,确保各个节点上数据和事务的一致性。 服务发现工作更稳定,单节点的读写能力可能并不强。
redis:内存型缓存,节点一致性主要是数据,读写能力很强。qps达10w+
redis:缓存能力很强,mysql缓存、多级缓存,
etcd:主要做一些事务管理,基础架构服务、容器类服务部署。



