Middle Ware
小于 1 分钟
目录
Rocket MQ
- ✅01、专栏主人公介绍✅02、能概括一下你们系统的架构设计、业务流程以及负载情况吗?✅03、说说昨天讲的订单系统架构✅04、你们系统的核心流程性能如何,有没有哪个环节拖慢了速度✅05、系统面临的现实问题:订单退款时经常流程失败,无法完成退款✅06、授人以渔:你们系统出现过核心流程链路失败的情况吗✅07、系统面临的现实问题:第三方客户系统的对接耦合性太高,经常出问题✅08、授人以渔:你们有没有跟第三方系统对接过,有遇到什么问题吗✅09、系统面临的现实问题:大数据团队需要订单数据,该怎么办✅10、授人以渔:你们有没有遇到过自己系统的数据,其他团队需要获取的✅100、BrokerController是如何构建出来的,以及他包含了哪些组件✅101、在初始化BrokerController的时候,都干了哪些事情✅102、BrokerContorller在启动的时候,都干了哪些事儿✅103、第三个场景驱动:Broker是如何把自己注册到NameServer去的✅104、深入探索BrokerOuter API是如何发送注册请求的✅105、NameServer是如何处理Broker的注册请求的✅106、Broker是如何发送定时心跳的,以及如何进行故障感知✅107、我们系统中使用的Producer是如何创建出来的✅108、构建好的Producer是如何启动准备好相关资源的✅109、当我们发送消息的时候,是如何从NameServer拉取Topic元数据的✅11、系统面临的现实问题:秒杀活动时数据库压力太大,该怎么缓解✅110、对于一条消息,Producer是如何选择MessageQueue去发送的✅111、我们的系统与RocketMQ Broker之间是如何进行网络通信的✅112、当Broker获取到一条消息之后,他是如何存储这条消息的✅113、一条消息写入CommitLog文件之后,如何实时更新索引文件✅114、RocketMQ是如何实现同步刷盘以及异步刷盘两种策略的✅115、当Broker上的数据存储超过一定时间之后,磁盘数据是如何清理的✅116、我们系统中的Consumer作为消费者是如何创建出来的✅117、一个消费组中的多个Consumer是如何均匀分配消息队列的✅118、Consumer是如何从Broker上拉取一批消息过来处理的✅119、专栏结束语:你从消息中间件专栏中学到了什么,如何运用到面试中去✅12、授人以渔:你们系统会不会遇到流量洪峰的场景,导致瞬时压力过大✅13、阶段性复习:一张思维导图给你梳理高并发订单系统面临的技术痛点✅14、阶段性复习:放大100倍压力,也要找出你系统的技术挑战✅15、解决订单系统诸多问题的核心技术:消息中间件到底是什么✅16、结合自己的系统问题思考一下,MQ有什么用处✅17、领导的要求:你来对Kafka、RabbitMQ以及RocketMQ进行技术选型调研✅18、授人以渔:你们公司主要使用的MQ是哪种?为什么要选用它✅19、新技术引入:给团队分享RocketMQ的架构原理和使用方式✅20、结合你对其他MQ的了解,思考RocketMQ的设计有何特点✅21、设计生产架构之前的功课:消息中间件路由中心的架构原理是什么✅22、要是没有这个路由中心,消息中间件可以正常运作么✅23、设计生产架构之前的功课:Broker的主从架构原理是什么✅24、授人以渔:Broker主从同步有没有数据不一致问题✅25-落地第一步:设计一套高可用的消息中间件生产部署架构✅26、授人以渔:你们公司的消息中间件生产环境如何部署的✅27、部署一个小规模的RocketMQ集群,为压测做好准备✅28、授人以渔:动手完成一个小规模的RocketMQ集群的部署进行练习✅29-生产运维:如何对RocketMQ集群进行可视化的监控和管理✅30、授人以渔:你们公司的MQ集群是如何进行监控和管理的✅31、RocketMQ生产集群准备:进行OS内核参数和JVM参数的调整✅32、授人以渔:你们公司的MQ集群是如何配置生产参数的✅33、对小规模RocketMQ集群进行压测,同时为生产集群进行规划✅34、授人以渔:你们公司的MQ集群做过压测吗?生产集群是如何规划的✅35、阶段性复习:一张思维导图给你梳理消息中间件集群生产部署架构规划✅36、阶段性复习:按照你们公司的真实负载,设计消息中间件集群生产架构✅37、基于MQ实现订单系统的核心流程异步化改造,性能优化完成✅38、授人以渔:如果在你们系统的核心流程引入MQ,应该如何改造系统✅39、基于MQ实现订单系统的第三方系统异步对接改造,解耦架构完成✅40、授人以渔:如果你们系统要对接第三方系统,应该如何设计✅41、基于MQ实现订单数据同步给大数据团队,应该如何设计✅42、授人以渔:对其他团队要获取你们核心数据的问题,应该如何解决✅43、秒杀系统的技术难点以及秒杀商品详情页系统的架构设计✅44、授人以渔:你们有没有类似秒杀的业务场景?如果没有,自己想一个出来✅45、基于MQ实现秒杀订单系统的异步化架构以及精准扣减库存的技术方案✅46、授人以渔:如果你们有类似秒杀的瞬时高并发场景,应该如何改造✅47、阶段性复习:一张思维导图给你梳理全面引入MQ的订单系统架构✅48、阶段性复习:思考一下,如果你们系统全面接入MQ,架构该如何设计✅49、精益求精:深入研究一下生产者到底如何发送消息的✅50、授人以渔:Kafka、RabbitMQ有类似MessageQueue的数据分片机制吗✅51、精益求精:深入研究一下Broker是如何持久化存储消息的✅52、授人以渔:同步刷盘和异步刷盘分别适用于什么场景呢✅53、精益求精:基于DLedger技术的Broker主从同步原理到底是什么✅54、授人以渔:采用Raft协议进行主从数据同步,会影响TPS吗✅55、精益求精:深入研究一下消费者是如何获取消息处理以及进行ACK的✅56、授人以渔:消费者到底什么时候可以认为是处理完消息了✅57、精益求精:消费者到底是根据什么策略从Master或Slave上拉取消息的✅58、授人以渔:消费者是跟所有Broker建立连接,还是跟部分Broker建立连接✅59、探秘黑科技:RocketMQ 是如何基于Netty扩展出高性能网络通信架构的✅60、授人以渔:BIO、NIO、AIO以及Netty之间的关系是什么✅61、探秘黑科技:基于mmap内存映射实现磁盘文件的高性能读写✅62、授人以渔:思考一个小问题,Java工程师真的只会Java就可以了吗✅63、抛砖引玉:通过本专栏的大白话讲解之后,再去深入阅读一些书籍和源码✅64、授人以渔:一个学习方法的探讨,如何深入研究一个技术✅65、阶段性复习:一张思维导图带你梳理 RocketMQ 的底层实现原理✅66、阶段性复习:在深度了解RocketMQ底层原理的基础之上,多一些主动思考✅67、生产案例:从 RocketMQ 全链路分析一下为什么用户支付后没收到红包✅68、发送消息零丢失方案:RocketMQ事务消息的实现流程分析✅69、RocketMQ黑科技解密:事务消息机制的底层实现原理✅70、为什么解决发送消息零丢失方案,一定要使用事务消息方案✅71、用支付后发红包的案例场景,分析RocketMQ事物消息的代码实现细节✅72、Broker消息零丢失方案:同步刷盘 + Raft协议主从同步✅73、Consumer消息零丢失方案:手动提交offset + 自动故障转移✅74、基于 RocketMQ 设计的全链路消息零丢失方案总结✅75、生产案例:从RocketMQ底层原理分析为什么会重复发优惠券✅76、对订单系统核心流程引入幂等性机制,保证数据不会重复✅77、如果优惠券系统的数据库宕机,如何用死信队列解决这种异常场景✅78、生产案例:为什么基于RocketMQ进行订单库数据同步时会消息乱序✅79、在RocketMQ中,如何解决订单数据库同步的消息乱序问题✅80、基于订单数据库同步场景,来分析RocketMQ的顺序消息机制的代码实现✅81、如何基于RocketMQ的数据过滤机制,提升订单数据库同步的处理效率✅82、生产案例:基于延迟消息机制优化大量订单的定时退款扫描问题✅83、基于订单定时退款场景,来分析RocketMQ的延迟消息的代码实现✅84、在RocketMQ的生产实践中积累的各种一手经验总结✅85、企业级的RocketMQ集群如何进行权限机制的控制✅86、如何对线上生产环境的RocketMQ集群进行消息轨迹的追踪✅87、由于消费系统故障导致的RocketMQ百万消息积压问题,应该如何处理✅88、金融级的系统如何针对RocketMQ集群崩溃设计高可用方案✅89、为什么要给RocketMQ增加消息限流功能保证其高可用性✅90、设计一套Kafka到RocketMQ的双写+双读技术方案,实现无缝迁移✅91、如何从Github拉取RocketMQ源码以及导入Intellij IDEA中✅92、如何在Intellij IDEA中启动NameServer以及本地调试源码✅93、如何在Intellij IDEA中启动Broker以及本地调试源码✅94、如何基于本地运行的RocketMQ进行消息的生产与消费✅95、源码分析的起点:从NameServer的启动脚本开始讲起✅96、NameServer在启动的时候都会解析哪些配置信息✅97、NameServer是如何初始化基于Netty的网络通信架构的✅98、NameServer最终是如何启动Netty网络通信服务器的✅99、Broker启动的时候是如何初始化自己的核心配置的总结