官术网_书友最值得收藏!

Broker

One of the fundamental architectural principles is the decoupling of various components. Broker is precisely the component in NRT architecture that not only decouples the data collection component and processing unit but also provides elasticity to hold data in a queue when there are sudden surges in traffic.

Amongst the vast variety of tools and technologies available under this segment, the key ones we would like to touch on are:

  • Apache Kafka: Kafka is used for building real-time data pipelines and streaming apps. It is horizontally scalable, fault-tolerant, wickedly fast, and runs in production in thousands of companies. (Source: https://kafka.apache.org/). The salient features of this broker component are:
    • It's highly scalable
    • It's fail safe; it provides for fault tolerance and high availability
    • It is open source and extensible
    • It's disk-based and can store vast amounts of data (this is a USP of Kafka that enables it to virtually cater for any amount of data)
    • It allows replication and partitioning of data
  • ActiveMQ: Apache ActiveMQ is fast, supports many cross language clients and protocols, and comes with easy-to-use enterprise integration patterns and many advanced features while fully supporting JMS 1.1 and J2EE 1.4. Apache ActiveMQ is released under the Apache 2.0 License. Key aspects of this protocol are:
    • It supports a variety of clients and protocols
    • It supports JMS 1.1 and J2EE 1.4
    • High performance
    • Support persistence
    • It exposes technology agnostic layer of web services
  • RabbitMQ: This is an in-memory, durable, and persistent, low-latency, distributed queue system that has the following salient features:
    • It's robust
    • It's easy to use
    • It supports all major operating systems
    • It is available in both open source and commercial versions

The following table captures the critical aspects of the two close contenders for the broker:

主站蜘蛛池模板: 巴林左旗| 宜章县| 宜兰县| 广东省| 四平市| 新郑市| 纳雍县| 墨江| 广灵县| 沈阳市| 仙桃市| 获嘉县| 三门峡市| 交口县| 拉孜县| 增城市| 乌审旗| 京山县| 抚顺市| 安乡县| 运城市| 眉山市| 兰西县| 西贡区| 十堰市| 沙田区| 祁门县| 富蕴县| 华亭县| 双辽市| 茶陵县| 叶城县| 庆安县| 绩溪县| 平顶山市| 罗江县| 彭州市| 凤翔县| 开鲁县| 永安市| 巴彦淖尔市|