zoukankan      html  css  js  c++  java
  • 聊一聊高并发高可用那些事

    目录

    为什么需要消息队列

    1.异步 :一个下单流程,你需要扣积分,扣优惠卷,发短信等,有些耗时又不需要立即处理的事,可以丢到队列里异步处理。

    2.削峰 :按平常的流量,服务器刚好可以正常负载。偶尔推出一个优惠活动时,请求量极速上升。由于服务器 Redis,MySQL 承受能力不一样,如果请求全部接收,服务器负载不了会导致宕机。加机器嘛,需要去调整配置,活动结束后用不到了,即麻烦又浪费。这时可以将请求放到队列里,按照服务器的能力去消费。

    3.解耦 :一个订单流程,需要扣积分,优惠券,发短信等调用多个接口,出现问题时不好排查。像发短信有很多地方需要用到, 如果哪天修改了短信接口参数,用到的地方都得修改。这时可以将要发送的内容放到队列里,起一个服务去消费, 统一发送短信。

    分区、副本、消费组

    Zookeeper 上存的 Kafka 相关数据

    Linux Kafka 操作命令

    • 查看 Kafka 中 Topic

    • 查看 Kafka 详情

    • 消费 Topic

    • 查看所有消费组

    • 查看消费组的消费情况

    Windows 可视化工具 Kafka Tool

    • 配置 Hosts 文件
    123.207.79.96 ZooKeeper-Kafka-01
    
    • 配置 Kafka Tool 连接信息

    • 查看 Kafka 主题数据

    生产者和消费者使用代码

    • 具体操作参考 github.com/wong-winnie/library

    订阅号:伟洪winnie

    • 订阅号回复关键字【聊聊高并发高可用那些事】获取专栏文章

  • 相关阅读:
    “echo >”和“echo >>”的区别
    socket 简介
    Shell 获取当前执行脚本的路径
    input子系统 KeyPad-Touch上报数据格式与机制
    Java垃圾回收-GC
    Java多线程-yield函数&interrupt函数
    Java内存模型-堆和栈的区别
    Java反射
    Java正则表达式
    Java多线程-sleep和wait的区别
  • 原文地址:https://www.cnblogs.com/winnie-wong/p/13062839.html
Copyright © 2011-2022 走看看