摘要:
在之前MQ系统架构的基础上划分Client的模块 阅读全文
摘要:
本篇在上一篇《消息中间件架构讨论》的基础上分析Broker的模块划分。 阅读全文
摘要:
接上一篇的《业务方对消息中间件的需求》,在可用性和可靠性的基础上,讨论各种架构的优缺点,最后给出自己关于消息中间件的架构思考。 阅读全文
摘要:
Netty的ByteBuf是JDK中ByteBuffer的升级版,提供了NIO buffer和byte数组的抽象视图。
ByteBuf的主要类集成关系: 阅读全文
摘要:
接上一篇《消息中间件的一些概念》来谈一谈业务系统对消息中间件的需求 阅读全文
摘要:
接上一篇《什么是分布式消息中间件?》介绍分布是消息中间件中的一些概念。 阅读全文
摘要:
介绍ByteBuffer的源码 阅读全文
摘要:
Kafka官方文档《实现》一章的翻译。
另附个人公众号,计划写一个系列的文章《MQ从入门到...》,会从最基础的MQ介绍到最终设计和实现一个MQ,欢迎长期关注和交流。 阅读全文
摘要:
什么是分布式消息中间件?
对于分布式消息中间件,首先要了解两个基础的概念,即什么是分布式系统,什么又是中间件。 阅读全文
摘要:
我们设计Kafka用来作为统一的平台来处理大公司可能拥有的所有实时数据源。为了做到这点,我们必须思考大量的使用场景。
它必须有高吞吐去支持大数据流,例如实时日志聚合。
它必须优雅的处理数据积压,以支持定期从离线系统加载数据。
这也以为这系统必须支持低延迟的分发来处理传统消息系统的场景。 阅读全文
摘要:
Kafka是一个分布式的流平台。这意味着什么?
我们认为流平台有3个核心的能力
允许发布和订阅记录流。在这方面类似消息队列和企业级的消息系统。
允许以容错的方式存储记录流。
允许以流的形式处理记录。 阅读全文
摘要:
本文描述通过一种叫做Zore Copy的技术来提升运行在Linux和UNIX上的Java程序的IO性能。
Zero copy避免冗余的数据拷贝并减少用户态和内核态之间的上下文切换。 阅读全文
摘要:
对象池其实就是缓存一些对象从而避免大量创建同一个类型的对象,类似线程池的概念。对象池缓存了一些已经创建好的对象,避免需要时才创建对象,同时限制了实例的个数。池化技术最终要的就是重复的使用池内已经创建的对象。从上面的内容就可以看出对象池适用于以下几个场景:
1. 创建对象的开销大
2. 会创建大量的实例
限制一些资源的使用 阅读全文
摘要:
继上次排查CPU问题后继续查内存问题并解决。 阅读全文
摘要:
记录一次JVM CPU飚高的问题查找 阅读全文