• 中间件kafka


    * kafka----一个发布订阅消息系统,中间件;一个分布式、分区、可重复的日志服务
    kafka需要了解基础几层结构,生产者订阅者等使用方法,和在高并发、一致性场景使用。
    (凡事面试问一致性、高并发都脱离不了消息队列和事务)。

    1.常用消息队列框架中间件Kafka
    2.基础结构
    producer:往kafka发消息的客户端
    Consumer:从kafka读消息的客户端
    Topic:一个队列
    Consumer Group:消费群,发送消息时可以实现广播;可以将一个topic发给多个consumer。
    Broker (B):一台kafka服务器就是一个broker。一个集群由多个broker组成。一个broker可以容纳多个topic。
    Partition(P):为了实现扩展性,一个非常大的topic可以分布到多个broker(即服务器)上。
    partition保证consumer发送Broker消息的顺序。
    2.为什么要分区
    可以将日志内容分布在多个服务器上,每个Server都可以保存partition,将topic切分成partition越多保存效率越高
    而partition越多意味着容纳consumer越多,有效提升并发消费的能力。
    3.高并发一致性场景下的使用
    kafka能够保证数据一致性,原因在于,kafka由consumer自己保存当前发送状态,不需要和其他确认。这样会很灵活,能够保证如果需要重新处理消息,可以再从broker获得。
    为提高性能,kafka的producer有一种异步发送的操作。producer先将消息放在内存中。

    4.kafaka与zookeeper
    zookeeper是一种开源、高性能协调应用。用于使kafka实现分布式
    主要体现在通过kafka不同集群之间的通信,broker和consumer之间利用zookeeper进行负载均衡。

  • 相关阅读:
    多进程交替控制输出
    最长不重复子串
    const关键字的使用
    C++类的内存分布
    shell编程--awk 、sed 命令介绍
    gcc 6.0编译opencv出错
    NTP同步网络时间
    树莓派配置RTC时钟(DS3231,I2C接口)
    浏览器播放rtmp流
    nginx配置hls
  • 原文地址:https://www.cnblogs.com/SutCoderHang/p/9703431.html
Copyright © 2020-2023  润新知