zoukankan      html  css  js  c++  java
  • 中间件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进行负载均衡。

  • 相关阅读:
    好看的壁纸网站
    python简介
    python学习之基本语法(1)
    信息系统开发方法
    数据库连接池的使用小结
    软件版本后的字母含义
    信息系统与信息化
    软考
    实施过程中的项目管理
    mysql查SQL执行速度
  • 原文地址:https://www.cnblogs.com/SutCoderHang/p/9703431.html
Copyright © 2011-2022 走看看