Kafka篇

  • 在设计高可用架构时,Kafka 我们准备了三台 Zookeeper 和 三台 Kafka,要是主节点挂了,从节点就可以顶替上。结果有一天,一台 Kafka 宕机, 导致我们的1/3和 Kafka 相关的业务不能用。呃?...... 那是因为没有正确理解分区和副本,导致我们三台 Kafka 和一台 Kafka 没多大区别, 只不过是将数据分成三份存储。

  • 在书中会讲到如下内容:

    • 为什么需要消息队列
    • 高吞吐、高可用 MQ 对比分析
    • Kafka 相关概念
    • 分区, 副本, 消费组
    • 重复消费和数据丢失问题
    • 如何确保一条消息只被一个服务消费
    • 操作命令

Redis篇

  • 在设计高可用高并发架构时, Redis 我们准备了六个实例, 三主三从交叉配对分布在三台服务器上。一对主从实例不要放在同一台服务器上, 避免服务器宕机时导致部分数据不能访问。看起来很完美的样子,可在代码操作存取Redis数据时, 有时候能成功有时候又提示类似 (error) MOVED 6373 127.0.0.1:8002 错误。这一会成功一会失败的,好伤脑筋。不管了把锅丢给运维, 就说是他们配置有问题。还是一个问题也是让我们很困惑, Redis Sentinal 和 Redis Cluster是不是要搭配使用呢? Redis Sentinal 解决高可用,Redis Cluster 解决高并发, 然后我们两个一起配置在Redis上, 结果GG了, Redis实例起不来了。

  • 在书中会讲到如下内容:

    • 为什么需要缓存
    • Redis 和 Memcached 对比分析
    • Redis数据结构
    • 缓存雪崩、击穿、穿透
    • 有序集合, 消息队列, 延迟队列, 订阅模式
    • 数据持久化 AOF和RDB 以及机器断电对数据的影响
    • Redis Sentinel 和 Redis Cluster
    • 操作集群有时能成功, 有时出现类似 MOVED 6373 127.0.0.1:8002 错误