13、传输协议:应用程序之间对话的语言你好,我是李玥。 经过前面几课的学习,我们已经可以实现高性能的结构化数据传输了。不过,应用程序之间要想互相通信,一起配合来实现业务功能,还需要有一套传输协议来支持。 **传输协议就是应用程序之间对话的语言。**设计传输协议,并没有太多规范和要求,只要...2026-03-01消息队列高手课
14、内存管理:如何避免内存溢出和频繁的垃圾回收你好,我是李玥。今天,我们来聊一聊内存管理的问题。 不知道你有没有发现,在高并发、高吞吐量的极限情况下,简单的事情就会变得没有那么简单了。一个业务逻辑非常简单的微服务,日常情况下都能稳定运行,为什么一到大促就卡死甚至进程挂掉?再比如,一个做数据汇总的...2026-03-01消息队列高手课
15、Kafka如何实现高性能IO你好,我是李玥。 Apache Kafka是一个高性能的消息队列,在众多消息队列产品中,Kafka的性能绝对是处于第一梯队的。我曾经在一台配置比较好的服务器上,对Kafka做过极限的性能压测,Kafka单个节点的极限处理能力接近每秒钟2000万条消息...2026-03-01消息队列高手课
16、缓存策略:如何使用缓存来减少磁盘IO你好,我是李玥。这节课,我们一起来聊一聊缓存策略。 现代的消息队列,都使用磁盘文件来存储消息。因为磁盘是一个持久化的存储,即使服务器掉电也不会丢失数据。绝大多数用于生产系统的服务器,都会使用多块儿磁盘组成磁盘阵列,这样不仅服务器掉电不会丢失数据,即使...2026-03-01消息队列高手课
17、如何正确使用锁保护共享数据,协调异步线程你好,我是李玥。 在前几天的加餐文章中我讲到,JMQ为了提升整个流程的处理性能,使用了一个“近乎无锁”的设计,这里面其实隐含着两个信息点。第一个是,在消息队列中,“锁”是一个必须要使用的技术。第二个是,使用锁其实会降低系统的性能。 那么,如何正确使用...2026-03-01消息队列高手课
18、如何用硬件同步原语(CAS)替代锁你好,我是李玥。上节课,我们一起学习了如何使用锁来保护共享资源,你也了解到,使用锁是有一定性能损失的,并且,如果发生了过多的锁等待,将会非常影响程序的性能。 在一些特定的情况下,我们可以使用硬件同步原语来替代锁,可以保证和锁一样的数据安全性,同时具有...2026-03-01消息队列高手课