异步通信在现代分布式系统中变得越来越重要,它允许不同组件在无需时间同步的情况下高效交互。这在强调独立性和扩展性的微服务架构中尤为重要。实现异步通信的常用技术和协议包括 Apache Kafka 、 RabbitMQ 和 AMQP协议 。 虽然异步消息系统提升了扩展性和弹性,但也带来了 维护清晰且最新文档 的挑战。正如 REST API…
2011 年初,LinkedIn 开源了 Kafka,这是一个分布式事件流平台。它以作家弗朗茨-卡夫卡(Franz Kafka)的名字命名。顾名思义,Kafka 是为写而优化的。它为处理实时数据馈送提供了一个高吞吐量、低延迟的平台,在互联网公司中得到广泛应用。 Kafka 通过顺序 I/O (Sequential I/O)和零拷贝 (Zero…
前言 在Java开发工程师面试中,特别是涉及到Apache Kafka的部分,面试官可能会从基础知识、架构理解、实际应用、故障排查和性能优化等多个维度来考察您的能力。这篇文章会将一些大概率被问到的面试题目梳理出来,并且告诉应该怎么回答它,不管你求职者在准备面试,还是面试官在准备招聘,这篇文章都非常值得一读,感觉还不错,别忘了收藏起来,以防迷路找不到。…
Apache Flink 是一个流处理框架,用于实时数据处理和流式计算。它可以处理大规模数据流,并提供低延迟和高吞吐量。Flink 支持各种数据源和接口,如 Kafka、HDFS、TCP 流等。它还提供了丰富的数据处理功能,如窗口操作、状态管理、事件时间语义等。Flink…
本文是技术人面试系列Kafka篇,面试中关于Kafka都需要了解哪些基础?一文带你详细了解,欢迎收藏! Why kafka 消息队列的作用: 异步、削峰填谷、解耦 中小型公司 ,技术挑战不是特别高,用 RabbitMQ (开源、社区活跃)是不错的选择;大型公司,基础架构研发实力较强,用 RocketMQ (Java二次开发) 是很好的选择。 如果是…
目前的MQ中间件从存储模型来,分为需要持久化和不需要持久化的两种模型,现在大多数的是支持持久化存储的,比如ActiveMQ、RabbitMQ、Kafka、RocketMQ。ZeroMQ却不需要支持持久化存储而业务系统也大多需要MQ有持久存储的能力,这样可以大大增加系统的高可用性。…
Kafka 介绍 Kafka 是一个开源的分布式流式平台,它可以处理大量的实时数据,并提供高吞吐量,低延迟,高可靠性和高可扩展性。Kafka 的核心组件包括生产者(Producer),消费者(Consumer),主题(Topic),分区(Partition),副本(Replica),日志(Log),偏移量(Offset)和代理(Broker)。Kafka…