16、缓存策略:如何使用缓存来减少磁盘IO

你好,我是李玥。这节课,我们一起来聊一聊缓存策略。 现代的消息队列,都使用磁盘文件来存储消息。因为磁盘是一个持久化的存储,即使服务器掉电也不会丢失数据。绝大多数用于生产系统的服务器,都会使用多块儿磁盘组成磁盘阵列,这样不仅服务器掉电不会丢失数据,即使...

消息队列高手课

15、Kafka如何实现高性能IO

你好,我是李玥。 Apache Kafka是一个高性能的消息队列,在众多消息队列产品中,Kafka的性能绝对是处于第一梯队的。我曾经在一台配置比较好的服务器上,对Kafka做过极限的性能压测,Kafka单个节点的极限处理能力接近每秒钟2000万条消息...

消息队列高手课

14、内存管理:如何避免内存溢出和频繁的垃圾回收

你好,我是李玥。今天,我们来聊一聊内存管理的问题。 不知道你有没有发现,在高并发、高吞吐量的极限情况下,简单的事情就会变得没有那么简单了。一个业务逻辑非常简单的微服务,日常情况下都能稳定运行,为什么一到大促就卡死甚至进程挂掉?再比如,一个做数据汇总的...

消息队列高手课

13、传输协议:应用程序之间对话的语言

你好,我是李玥。 经过前面几课的学习,我们已经可以实现高性能的结构化数据传输了。不过,应用程序之间要想互相通信,一起配合来实现业务功能,还需要有一套传输协议来支持。 **传输协议就是应用程序之间对话的语言。**设计传输协议,并没有太多规范和要求,只要...

消息队列高手课

12、序列化与反序列化:如何通过网络传输结构化的数据

你好,我是李玥。 最近有一些同学留言说,感觉这几节课讲的内容和消息关系不大。这里我解释一下,因为我们课程其中的一个目的,是让同学们不仅会使用消息队列,还可以通过对消息队列的学习,在代码能力上有一个提升,具备“造轮子”的能力。这样,你对消息队列的理解才...

消息队列高手课

11、如何实现高性能的异步网络传输

你好,我是李玥。上一节课我们学习了异步的线程模型,异步与同步模型最大的区别是,同步模型会阻塞线程等待资源,而异步模型不会阻塞线程,它是等资源准备好后,再通知业务代码来完成后续的资源处理逻辑。这种异步设计的方法,可以很好地解决IO等待的问题。 我们开发...

消息队列高手课
16465666768673