Apache Rocketmq 介绍

Total Page:16

File Type:pdf, Size:1020Kb

Apache Rocketmq 介绍 链滴 Apache RocketMQ 介绍 作者:boccaro 原文链接:https://ld246.com/article/1588041859812 来源网站:链滴 许可协议:署名-相同方式共享 4.0 国际 (CC BY-SA 4.0) Apache RocketMQ 介绍 概要 Apache RocketMQ是一个分布式消息传递和流媒体平台,具有低延迟,高性能和可靠性,万亿级容 和灵活的可伸缩性。它的一个重要特性是支持非日志类型的可靠消息传送,非常适合运用在金融和电 商务领域。目前他是Apache社区的顶级项目,在全球有超过100家公司在其业务中使用RocketMQ 开源版本。 诞生 RocketMQ起源于阿里巴巴。阿里巴巴最初由于业务需求,需要使用消息中间件。早期使用过Notify ActiveMQ等。但在需求不断膨胀的情况下,ActiveMQ IO模块遇到了瓶颈,几经努力但改善成果不 。这时正值Kafka流行,于是引起了阿里巴巴开发团队的注意,对kafka的无限消息堆积,高效持久化 度等特性非常赞赏。但不幸的是,Kafka不能满足他们的要求,特别是在低延迟和高可靠性方面。在 种情况下,阿里巴巴决定发明一个新的消息传递引擎来处理更广泛的用例集,从传统的发布/订阅方 到大批量实时零损失容忍交易系统。 里程碑 2012年,阿里巴巴开始开发RocketMQ,经历了数次双11核心交易链路检验。 2016年11月11日,RocketMQ又一次在阿里巴巴全球购物节上处理了1.2万亿个并发在线消息传输, 后阿里巴巴将RocketMQ捐献给Apache Incubator。 2017年9月25日 – Apache软件基金会,连同350多个开源项目的全体志愿者、开发人员、管理人员 和孵化项目组织,宣布Apache®RocketMQ™从Apache孵化器毕业成为顶级项目,这表明该项目的 区和产品已根据ASF的精英流程和原则得到了很好的管理。 现今,Apache RocketMQ在社区各方面的努力下,茁壮发展,很多功能都得到了加强。 RocketMQ的技术概览 在我们看来,它最大的创新点在于能够通过精巧的横向、纵向扩展,不断满足与日俱增的海量消息在 吞吐、高可靠、低延迟方面的要求。 目前RocketMQ主要由NameServer、Broker、Producer以及Consumer四部分构成,如下图所示。 原文链接:Apache RocketMQ 介绍 NameServer以轻量级的方式提供服务发现和路由功能,每个NameServer存有全量的路由信息,提 对等的读写服务,支持快速扩缩容。 Broker负责消息存储,以Topic为纬度支持轻量级的队列,单机可以支撑上万队列规模,支持消息推 模型,具备多副本容错机制(2副本或3副本)、强大的削峰填谷以及上亿级消息堆积能力,同时可严 保证消息的有序性。除此之外,Broker还提供了同城异地容灾能力,丰富的Metrics统计以及告警机 。这些都是传统消息系统无法比拟的。 Producer由用户进行分布式部署,消息由Producer通过多种负载均衡模式发送到Broker集群,发送 延时,支持快速失败。 Consumer也由用户部署,支持PUSH和PULL两种消费模式,支持集群消费和广播消息,提供实时的 息订阅机制,满足大多数消费场景。 特点 ● RocketMQ支持异步实时刷盘,同步刷盘,同步复制,异步复制。具有高可靠性。不会因为操作系 的崩溃而导致数据丢失。 ● RocketMQ经过一系列的实践和优化,处理速度从最初的10,000TPS到目前已经超过50,000TPS。 纯比较TPS的话虽然还不如Kafka的百万级别,但在支持事务的消息中间件来说已经是非常优秀了。 ● RocketMQ采用长轮询,消息投递延迟通常在几个毫秒左右。 ● RocketMQ单机最高支持5万个队列,且负载不会发生明显递增。 ● RocketMQ支持消费失败重试,这个特性非常适合运用在充值方面的应用。 ● RocketMQ支持严格的意义上的消息顺序。即时在一台Broker宕机后,消息发送会失败,但是不会 序。 ● RocketMQ支持定时消息 ● RocketMQ支持分布式事务消息 ● RocketMQ支持根据消息标识或内容查询。 ● RocketMQ支持按照时间来回溯消息,精度毫秒,例如从一天之前的某时某分某秒开始重新消费消 原文链接:Apache RocketMQ 介绍 。 其他消息中间件 RabbitMQ是AMQP规范的参考实现,AMQP是一个线路层协议,面面俱到,很系统,也稍显复杂。 前RabbitMQ已经成为OpenStack Iaas平台首选的消息服务,其背后的支持力度不言而喻。 ActiveMQ最初主要的开发者在LogicBlaze,现在主要开发红帽,是JMS规范的参考实现,也是Apach 旗下的老牌消息服务引擎。JMS虽说是一个API级别的协议,但其内部还是定义了一些实现约束,不 缺少多语言支撑。ActiveMQ的生态堪称丰富多彩,在该Apache顶级项目下,拥有不少子项目,包括 HornetMQ演变而来的Artemis,基于Scala号称下一代AMQ的Apollo等。 而Kafka最初被设计用来做日志处理,是一个不折不扣的大数据通道,追求高吞吐,存在丢消息的可 。其背后的研发团队也围绕着Kafka进行了商业包装,目前在一些中小型公司被广泛使用。 下表是一目了然的快速参考,可快速发现RocketMQ及其最受欢迎的替代产品之间的差异。 Messaging Product Client SDK Protocol and Specification Ordered Mess ge Scheduled Message Batched Message BroadCast Message Messa e Filter Server Triggered Redelivery Message Storage Message Retroactive essage Priority High Availability and Failover Message Track Configuration anagement and Operation Tools ActiveMQ Java, .NET, C++ etc. Push model, support OpenWire, STOMP, AMQP, M TT, JMS Exclusive Consumer or Exclusive Queues can ensure ordering Supported ot Supported Supported Supported Not Supported Supports very fast p rsistence using JDBC along with a high performance journal,such as levelDB, kahaDB S pported Supported Supported, depending on storage,if using kahadb it requires a ooKeeper server Not Supported The default configuration is low level, user need to optimize the configuration parameters Supported Kafka Java, Scala etc. Pull model, support TCP Ensure ordering of messages w thin a partition Not Supported Supported, with async producer Not Supported upported, you can use Kafka Streams to filter messages Not Supported High perfo mance file storage Supported offset indicate Not Supported Supported, requi es a ZooKeeper server Not Supported Kafka uses key-value pairs format for config ration. These values can be supplied either from a file or programmatically. Supported, u e terminal command to expose core metrics RocketMQ Java, C++, Go Pull model, support TCP, JMS, OpenMessaging Ens re strict ordering of messages,and can scale out gracefully Supported Supported, w th sync mode to avoid message loss Supported Supported, property filter expressi ns based on SQL92 Supported High performance and low latency file storage upported timestamp and offset two indicates Not Supported Supported, Master-Sl ve model, without another kit Supported Work out of box,user only need to pay at ention to a few configurations Supported, rich web and terminal command to expose co e metrics 文献参照 ● RocketMQ与Kafka对比(18项差异) ● 技术选型:RocketMQ or Kafka ● Apache Kafkaに入門した 原文链接:Apache RocketMQ 介绍 ● 解决KafKa数据存储与顺序一致性保证 ● Kafka : Ordering Guarantees ● Apache Kafka 从 0.7 到 1.0:那些年我们踩过的坑 ● Apache Kafkaの概要とアーキテクチャ ● Apache RocketMQ ● 专访RocketMQ联合创始人:项目思路、技术细节和未来规划 ● The Apache Software Foundation Announces Apache® RocketMQ™ as a Top-Level Project ● Apache RocketMQ开发者指南 ● 阿里RocketMQ是怎样孵化成Apache顶级项目的? 原文链接:Apache RocketMQ 介绍.
Recommended publications
  • Java Linksammlung
    JAVA LINKSAMMLUNG LerneProgrammieren.de - 2020 Java einfach lernen (klicke hier) JAVA LINKSAMMLUNG INHALTSVERZEICHNIS Build ........................................................................................................................................................... 4 Caching ....................................................................................................................................................... 4 CLI ............................................................................................................................................................... 4 Cluster-Verwaltung .................................................................................................................................... 5 Code-Analyse ............................................................................................................................................. 5 Code-Generators ........................................................................................................................................ 5 Compiler ..................................................................................................................................................... 6 Konfiguration ............................................................................................................................................. 6 CSV ............................................................................................................................................................. 6 Daten-Strukturen
    [Show full text]
  • Building a Modern, Scalable Cyber Intelligence Platform with Apache Kafka
    White Paper Information Security | Machine Learning October 2020 IT@Intel: Building a Modern, Scalable Cyber Intelligence Platform with Apache Kafka Our Apache Kafka data pipeline based on Confluent Platform ingests tens of terabytes per day, providing in-stream processing for faster security threat detection and response Intel IT Authors Executive Summary Ryan Clark Advanced cyber threats continue to increase in frequency and sophistication, Information Security Engineer threatening computing environments and impacting businesses’ ability to grow. Jen Edmondson More than ever, large enterprises must invest in effective information security, Product Owner using technologies that improve detection and response times. At Intel, we Dennis Kwong are transforming from our legacy cybersecurity systems to a modern, scalable Information Security Engineer Cyber Intelligence Platform (CIP) based on Kafka and Splunk. In our 2019 paper, Transforming Intel’s Security Posture with Innovations in Data Intelligence, we Jac Noel discussed the data lake, monitoring, and security capabilities of Splunk. This Security Solutions Architect paper describes the essential role Apache Kafka plays in our CIP and its key Elaine Rainbolt benefits, as shown here: Industry Engagement Manager ECONOMIES OPERATE ON DATA REDUCE TECHNICAL GENERATES OF SCALE IN STREAM DEBT AND CONTEXTUALLY RICH Paul Salessi DOWNSTREAM COSTS DATA Information Security Engineer Intel IT Contributors Victor Colvard Information Security Engineer GLOBAL ALWAYS MODERN KAFKA LEADERSHIP SCALE AND REACH ON ARCHITECTURE WITH THROUGH CONFLUENT Juan Fernandez THRIVING COMMUNITY EXPERTISE Technical Solutions Specialist Frank Ober SSD Principal Engineer Apache Kafka is the foundation of our CIP architecture. We achieve economies of Table of Contents scale as we acquire data once and consume it many times.
    [Show full text]
  • Unravel Data Systems Version 4.5
    UNRAVEL DATA SYSTEMS VERSION 4.5 Component name Component version name License names jQuery 1.8.2 MIT License Apache Tomcat 5.5.23 Apache License 2.0 Tachyon Project POM 0.8.2 Apache License 2.0 Apache Directory LDAP API Model 1.0.0-M20 Apache License 2.0 apache/incubator-heron 0.16.5.1 Apache License 2.0 Maven Plugin API 3.0.4 Apache License 2.0 ApacheDS Authentication Interceptor 2.0.0-M15 Apache License 2.0 Apache Directory LDAP API Extras ACI 1.0.0-M20 Apache License 2.0 Apache HttpComponents Core 4.3.3 Apache License 2.0 Spark Project Tags 2.0.0-preview Apache License 2.0 Curator Testing 3.3.0 Apache License 2.0 Apache HttpComponents Core 4.4.5 Apache License 2.0 Apache Commons Daemon 1.0.15 Apache License 2.0 classworlds 2.4 Apache License 2.0 abego TreeLayout Core 1.0.1 BSD 3-clause "New" or "Revised" License jackson-core 2.8.6 Apache License 2.0 Lucene Join 6.6.1 Apache License 2.0 Apache Commons CLI 1.3-cloudera-pre-r1439998 Apache License 2.0 hive-apache 0.5 Apache License 2.0 scala-parser-combinators 1.0.4 BSD 3-clause "New" or "Revised" License com.springsource.javax.xml.bind 2.1.7 Common Development and Distribution License 1.0 SnakeYAML 1.15 Apache License 2.0 JUnit 4.12 Common Public License 1.0 ApacheDS Protocol Kerberos 2.0.0-M12 Apache License 2.0 Apache Groovy 2.4.6 Apache License 2.0 JGraphT - Core 1.2.0 (GNU Lesser General Public License v2.1 or later AND Eclipse Public License 1.0) chill-java 0.5.0 Apache License 2.0 Apache Commons Logging 1.2 Apache License 2.0 OpenCensus 0.12.3 Apache License 2.0 ApacheDS Protocol
    [Show full text]
  • Thesis Artificial Intelligence Method Call Argument Completion Using
    Method Call Argument Completion using Deep Neural Regression Terry van Walen [email protected] August 24, 2018, 40 pages Academic supervisors: dr. C.U. Grelck & dr. M.W. van Someren Host organisation: Info Support B.V., http://infosupport.com Host supervisor: W. Meints Universiteit van Amsterdam Faculteit der Natuurwetenschappen, Wiskunde en Informatica Master Software Engineering http://www.software-engineering-amsterdam.nl Abstract Code completion is extensively used in IDE's. While there has been extensive research into the field of code completion, we identify an unexplored gap. In this thesis we investigate the automatic rec- ommendation of a basic variable to an argument of a method call. We define the set of candidates to recommend as all visible type-compatible variables. To determine which candidate should be recom- mended, we first investigate how code prior to a method call argument can influence a completion. We then identify 45 code features and train a deep neural network to determine how these code features influence the candidate`s likelihood of being the correct argument. After sorting the candidates based on this likelihood value, we recommend the most likely candidate. We compare our approach to the state-of-the-art, a rule-based algorithm implemented in the Parc tool created by Asaduzzaman et al. [ARMS15]. The comparison shows that we outperform Parc, in the percentage of correct recommendations, in 88.7% of tested open source projects. On average our approach recommends 84.9% of arguments correctly while Parc recommends 81.3% correctly. i ii Contents Abstract i 1 Introduction 1 1.1 Previous work........................................
    [Show full text]
  • HDP 3.1.4 Release Notes Date of Publish: 2019-08-26
    Release Notes 3 HDP 3.1.4 Release Notes Date of Publish: 2019-08-26 https://docs.hortonworks.com Release Notes | Contents | ii Contents HDP 3.1.4 Release Notes..........................................................................................4 Component Versions.................................................................................................4 Descriptions of New Features..................................................................................5 Deprecation Notices.................................................................................................. 6 Terminology.......................................................................................................................................................... 6 Removed Components and Product Capabilities.................................................................................................6 Testing Unsupported Features................................................................................ 6 Descriptions of the Latest Technical Preview Features.......................................................................................7 Upgrading to HDP 3.1.4...........................................................................................7 Behavioral Changes.................................................................................................. 7 Apache Patch Information.....................................................................................11 Accumulo...........................................................................................................................................................
    [Show full text]
  • An Empirical Performance Evaluation of Apache Kafka
    How Fast Can We Insert? An Empirical Performance Evaluation of Apache Kafka Guenter Hesse, Christoph Matthies, Matthias Uflacker Hasso Plattner Institute University of Potsdam Germany fi[email protected] about such study results is a prerequisite for making informed Abstract—Message brokers see widespread adoption in modern decisions about whether a system is suitable for the existing IT landscapes, with Apache Kafka being one of the most use cases. Additionally, it is also crucial for finding or fine- employed platforms. These systems feature well-defined APIs for use and configuration and present flexible solutions for tuning appropriate system configurations. various data storage scenarios. Their ability to scale horizontally The contributions of this research are as follows: enables users to adapt to growing data volumes and changing • We propose a user-centered and extensible monitoring environments. However, one of the main challenges concerning framework, which includes tooling for analyzing any message brokers is the danger of them becoming a bottleneck within an IT architecture. To prevent this, knowledge about the JVM-based system. amount of data a message broker using a specific configuration • We present an analysis that highlights the capabilities of can handle needs to be available. In this paper, we propose a Apache Kafka regarding the maximum achievable rate of monitoring architecture for message brokers and similar Java incoming records per time unit. Virtual Machine-based systems. We present a comprehensive • We enable reproducibility of the presented results by performance analysis of the popular Apache Kafka platform 1 using our approach. As part of the benchmark, we study selected making all needed artifacts available online .
    [Show full text]
  • The Geography of Job Tasks
    Working Papers WP 21-27 August 2021 https://doi.org/10.21799/frbp.wp.2021.27 The Geography of Job Tasks Enghin Atalay Federal Reserve Bank of Philadelphia Research Department Sebastian Sotelo University of Michigan-Ann Arbor Daniel Tannenbaum University of Nebraska-Lincoln ISSN: 1962-5361 Disclaimer: This Philadelphia Fed working paper represents preliminary research that is being circulated for discussion purposes. The views expressed in these papers are solely those of the authors and do not necessarily reflect the views of the Federal Reserve Bank of Philadelphia or the Federal Reserve System. Any errors or omissions are the responsibility of the authors. Philadelphia Fed working papers are free to download at: https://philadelphiafed.org/research-and-data/publications/working-papers. The Geography of Job Tasks ∗ Enghin Atalay Sebastian Sotelo Daniel Tannenbaum August 3, 2021 Abstract The returns to skills and the nature of work differ systematically across labor mar- kets of different sizes. Prior research has pointed to worker interactions, technological innovation, and specialization as key sources of urban productivity gains, but has been limited by the available data in its ability to fully characterize work across geographies. We study the sources of geographic inequality and present new facts about the geog- raphy of work using online job ads. We show that the (i) intensity of interactive and analytic tasks, (ii) technological requirements, and (iii) task specialization all increase with city size. The gradient for tasks and technologies exists both across and within occupations. It is also steeper for jobs requiring a college degree and for workers employed in non-tradable industries.
    [Show full text]
  • Apache Flume™
    ™ Apache Flume™ Flume 1.7.0 User Guide Introduction Overview Apache Flume is a distributed, reliable, and available system for efficiently collecting, aggregating and moving large amounts of log data from many different sources to a centralized data store. The use of Apache Flume is not only restricted to log data aggregation. Since data sources are customizable, Flume can be used to transport massive quantities of event data including but not limited to network traffic data, social-media-generated data, email messages and pretty much any data source possible. Apache Flume is a top level project at the Apache Software Foundation. There are currently two release code lines available, versions 0.9.x and 1.x. Documentation for the 0.9.x track is available at the Flume 0.9.x User Guide. This documentation applies to the 1.4.x track. New and existing users are encouraged to use the 1.x releases so as to leverage the performance improvements and configuration flexibilities available in the latest architecture. System Requirements 1. Java Runtime Environment - Java 1.7 or later 2. Memory - Sufficient memory for configurations used by sources, channels or sinks 3. Disk Space - Sufficient disk space for configurations used by channels or sinks 4. Directory Permissions - Read/Write permissions for directories used by agent Architecture Data flow model A Flume event is defined as a unit of data flow having a byte payload and an optional set of string attributes. A Flume agent is a (JVM) process that hosts the components through which events flow from an external source to the next destination (hop).
    [Show full text]
  • DMI-Technical-Proposal ODOT ESP-2020-11-06
    State of Ohio Department of Transportation ODOT Event Streaming Platform (ESP) Invitation No. 580-21 June 11, 2020 [email protected] This proposal contains data that shall not be disclosed by the Customer and shall not be duplicated, used, or disclosed—in whole or in part—for any reason other than to evaluate this proposal. If, however, a contract is awarded to Digital Management, LLC. as a result of—or in connection with—the submission of this proposal, the Customer shall have the right to duplicate, use, or disclose the data to the extent provided in the resulting contract. This restriction does not limit the Customer’s right to use the information contained in this proposal if it is obtained from another source without restriction. This restriction is in force for all data contained on all pages of this proposal. Cover Sheet Prepared For • State of Ohio, Department of Transportation Office of Contract Sales, Purchasing Services 1st floor 1980 West Broad St. Mail Stop 4110 Columbus, OH 43223 • Attn: Dr. Jack Marchbanks • Email: [email protected] Prepared By • Digital Mobile Innovations, LLC (DMI) 6550 Rock Spring Drive, 7th Floor Bethesda, MD 20817 • Phone: 240-223-4800, Fax: 240-223-4888 • www.DMInc.com DMI Authorized Negotiators • Mr. Thomas Ford, Senior Director of Contracts Email: [email protected] Office: 240-720-0433, Mobile: 202-374-0222 DMI Corporate Information • DUNS: 11-351-2359 • CAGE Code: 3BDL8 • TIN: 80-0882271 REQUEST FOR QUOTES (RFQ) State of Ohio, Department of Transportation Office of Contract Sales, Purchasing Services Jack Marchbanks, Ph.
    [Show full text]
  • Dissertation Zur Erlangung Des Akademischen Grades Des Doktors Der Naturwissenschaften
    Dissertation zur Erlangung des akademischen Grades des Doktors der Naturwissenschaften (Dr. rer. nat) Performance and Reliability Evaluation of Apache Kafka Messaging System eingereicht am Institut für Informatik des Fachbereichs Mathematik und Informatik der Freien Universität Berlin von Han Wu Berlin, 2020 Gutachter: Prof. Dr. Katinka Wolter (der erste Rezensent) Department of Computer Science Freie Universität Berlin, Germany Prof. Dr. Aad van Moorsel (der zweite Rezensent) School of Computing Newcastle University, UK Das Datum der Disputation: 14th. Jan 2021 Selbständigkeitserklärung Ich versichere, dass ich die Doktorarbeit selbständig verfasst, und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt habe. Die Arbeit hat keiner anderen Prüfungsbehörde vorgelegen. Han Wu Berlin, den 4. Februar 2021 Abstract Streaming data is now flowing across various devices and applications around us. This type of data means any unbounded, ever growing, infinite data set which is continuously generated by all kinds of sources. Examples include sensor data transmitted among different Internet of Things (IoT) devices, user activity records collected on websites and payment requests sent from mobile devices. In many application scenarios, streaming data needs to be processed in real-time because its value can be futile over time. A variety of stream processing systems have been developed in the last decade and are evolving to address rising challenges. A typical stream processing system consists of multiple processing nodes in the topology of a DAG (directed acyclic graph). To build real-time streaming data pipelines across those nodes, message middleware technology is widely applied. As a distributed messaging system with high durability and scalability, Apache Kafka has become very popular among modern companies.
    [Show full text]
  • Technology Overview
    Big Data Technology Overview Term Description See Also Big Data - the 5 Vs Everyone Must Volume, velocity and variety. And some expand the definition further to include veracity 3 Vs Know and value as well. 5 Vs of Big Data From Wikipedia, “Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. Agile The Agile Manifesto It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change. It is a conceptual framework that promotes foreseen tight iterations throughout the development cycle.” A data serialization system. From Wikepedia, Avro Apache Avro “It is a remote procedure call and serialization framework developed within Apache's Hadoop project. It uses JSON for defining data types and protocols, and serializes data in a compact binary format.” BigInsights Enterprise Edition provides a spreadsheet-like data analysis tool to help Big Insights IBM Infosphere Biginsights organizations store, manage, and analyze big data. A scalable multi-master database with no single points of failure. Cassandra Apache Cassandra It provides scalability and high availability without compromising performance. Cloudera Inc. is an American-based software company that provides Apache Hadoop- Cloudera Cloudera based software, support and services, and training to business customers. Wikipedia - Data Science Data science The study of the generalizable extraction of knowledge from data IBM - Data Scientist Coursera Big Data Technology Overview Term Description See Also Distributed system developed at Google for interactively querying large datasets. Dremel Dremel It empowers business analysts and makes it easy for business users to access the data Google Research rather than having to rely on data engineers.
    [Show full text]
  • A Survey of Distributed Message Broker Queues
    A Survey of Distributed Message Broker Queues Vineet John Xia Liu University of Waterloo University of Waterloo [email protected] [email protected] ABSTRACT This paper surveys the message brokers that are in vogue today for distributed communication. Their primary goal is to facilitate the construction of decentralized topolo- gies without single points of failure, enabling fault tol- erance and high availability. These characteristics make them optimal for usage within distributed architectures. However, there are multiple protocols built to achieve this, and it would be beneficial to have a empirical comparison between their features and performance to determine their real-world applicability. Figure 1: Kafka Architecture This paper focuses on two popular protocols (Kafka and AMQP) and explores the divergence in their fea- RQ0 What are the message broker implementations tures as well as their performance under varied testing commonly in use today? workloads. RQ1 What are the common requirements for the im- plementation of message queues? KEYWORDS RQ2 What are the divergent functionalities in the distributed message broker, message queue, kafka, amqp, current message queue offerings? rabbitmq RQ3 How do each of the implementations offer relia- bility, partitioning and fault tolerance? 1 INTRODUCTION 3 KAFKA Kafka was developed at LinkedIn and primarily used Distributed Message Brokers are typically used to decou- for log processing. This worked well for Kafka’s user en- ple separate stages of a software architecture. They per- gagement metrics collection use-case. The fundamental mit communication between these stages asynchronously, features behind Kafka are performance over reliability by using the publish-subscribe paradigm.[1]. These mes- and it offers high throughput, low latency message queu- sage brokers are also finding new applications in the ing.
    [Show full text]