中国城投建设集团网站,手机网游,南京手机网站建设,青田网页设计公司消息队列#xff08;类似于蜂巢柜的功能#xff09;#xff1a;异步操作
特点#xff1a;低耦合#xff0c;响应时间快#xff0c;异步削峰限流#xff08;在不繁忙的时间段处理再处理任务#xff09;#xff0c;系统结构弹性大#xff0c;易于扩展 kafka
Kafka的主…消息队列类似于蜂巢柜的功能异步操作
特点低耦合响应时间快异步削峰限流在不繁忙的时间段处理再处理任务系统结构弹性大易于扩展 kafka
Kafka的主要组件包括
- BrokerKafka集群中的单个服务器节点负责数据存储和处理。
- Topic消息发布的类别或者主题。
- Partition每个Topic被划分为多个不同的分区分区内的数据有序。
- Producer生产者负责向Kafka的Topic发送消息。
- Consumer消费者负责从Kafka的Topic接收和处理消息。
- Consumer Group一组消费者的集合用于实现消费者的负载均衡和故障转移。
- ZooKeeperKafka使用ZooKeeper来进行集群管理、协调和元数据存储。
broker是kafka服务器的一个实例kafka是broker的集群
Topic是逻辑概念代表某一类信息
partition分区
Replication副本防止某个broker宕机为partition创建多个副本保存数据一个broker的副本放在不同的broker中
当存在副本时就会区分Leader、Follower
Leader主分片接收生产者发送的数据对接消费者消费消息
Follower仅负责和Leader同步数据
Kafka在工作时broker、Topic、Partition等都需要在Zookeeper中注册 消息队列和Kafka的区别
1.存储机制Kafka是持久化存储存储在磁盘上消息队列是存储在内存中
2.实时处理Kafka是高吞吐、低延迟适用于实时数据处理消息队列注重消息传递的可靠性
3.设计模式Kafka是分布式流媒体平台而传统消息队列是单个服务器
4.消费模型Kafka采用发布-订阅模型可以多个消费者消费同一消息而传统队列只能一个消息对应一个消费者 Kafka如何保证消息传递的可靠性
1.持久化
2.复制创建多个副本分布在不同区
3.批量发送
4.确认机制 死锁
定义多个事务访问同一资源对已有的资源不释放相互锁定对方的资源造成的死循环
条件
互斥一个线程拿到锁后其他线程不能用
请求和保持尝试获取另外的锁自己的锁不释放
不可剥夺锁只能线程自己释放
循环等待相互等待对方释放锁