一级做爰片免费网站,怎么查网站有没有做301,wordpress弹窗登录注册,东莞页面设计的培训kafka 基本概念
消息队列
1、什么是消息队列
消息#xff08;Message#xff09;是指在应用之间传送的数据#xff0c;消息可以非常简单#xff0c;比如只包含文本字符串#xff0c;也可以更复杂#xff0c;可能包含嵌入对象。 消息队列#xff08;Message QueueMessage是指在应用之间传送的数据消息可以非常简单比如只包含文本字符串也可以更复杂可能包含嵌入对象。 消息队列Message Queue是一种应用间的通信方式消息发送后可以立即返回有消息系统来确保信息的可靠专递消息发布者只管把消息发布到MQ中而不管谁来取消息使用者只管从MQ中取消息而不管谁发布的这样发布者和使用者都不用知道对方的存在。
2、消息队列的应用场景
应用耦合多应用间通过消息队列对同一消息进行处理避免调用接口失败导致整个过程失败
异步处理多应用对消息队列中同一消息进行处理应用间并发处理消息相比串行处理减少处理时间
限流削峰广泛应用于秒杀或抢购活动中避免流量过大导致应用系统挂掉的情况
消息驱动的系统系统分为消息队列、消息生产者、消息消费者生产者负责产生消息消费者(可能有多个)负责对消息进行处理
3、消息队列的两种模式
消息队列包括两种模式点对点模式point to point queue和发布/订阅模式publish/subscribetopic
点对点点对点模式下包括三个角色消息队列、生产者、消费者
消息发送者生产消息发送到queue中然后消息接收者从queue中取出并且消费消息。消息被消费以后queue中不再有存储所以消息接收者不可能消费到已经被消费的消息。
3.1、点对点模式特点
每个消息只有一个接收者Consumer(即一旦被消费消息就不再在消息队列中)
发送者和接发收者间没有依赖性发送者发送消息之后不管有没有接收者在运行都不会影响到发送者下次发送消息
接收者在成功接收消息之后需向队列应答成功以便消息队列删除当前接收的消息
3.2、发布订阅模式
每个消息可以有多个订阅者
发布者和订阅者之间有时间上的依赖性。针对某个主题Topic的订阅者它必须创建一个订阅者之后才能消费发布者的消息。
为了消费消息订阅者需要提前订阅该角色主题并保持在线运行
kafka是什么
Kafka 是一个分布式分区的多副本的多订阅者的消息发布订阅系统由 LinkedIn 公司开发。以下是 Kafka 的一些相关知识
1、优点
可靠性强分布式-分区-副本、扩展性强可伸缩、性能高数据读写、耐用性强数据持久化、时效性强。
2、缺点
由于是批量发送数据并非真正的实时 仅支持统一分区内消息有序无法实现全局消息有序 有可能消息重复消费 依赖zookeeper进行元数据管理。
kafka重要概念 TopicKafka 中的消息被组织成主题(topic)生产者将消息发布到特定的主题消费者从感兴趣的主题订阅消息。 Partition每个主题(topic)可以被分成多个分区(partition)每个分区是一个有序的消息队列生产者将消息发送到某个特定的分区每个分区可以分布在不同的服务器上以实现负载均衡、容错等目的。 BrokerKafka 集群中的每个节点称为 broker每个 broker 可以承载多个分区(partition)每个分区(partition)可能被分配到不同的 broker 上。 Producer消息的生产者可以将消息发布到特定主题(topic)的某个分区(partition)。 Consumer消息的消费者可以从某个主题(topic)的某个分区(partition)订阅消息。 Consumer Group若干个消费者可以组成一个消费者组(consumer group)共同消费某个主题(topic)的所有消息。每个分区partition只能由同一个 consumer group 中的一个消费者消费。 OffsetKafka 中的每条消息都有一个唯一的偏移量(offset)代表该消息在分区(partition)中的位置。每个消费者都有自己的 offset 计数器可以指定从哪个 offset 开始读取消息。 ReplicationKafka 支持数据备份和容错机制每个分区(partition)可以有多个副本(replica)这些副本分布在不同的 broker 上以保证某一个 broker 宕机时数据不会丢失。
副本
在kafka 中 副本和正本都被称之为副本但存在leader 和follower之分活跃的称之为leader,其它的为follower, topic、partition、replica的关系消息进来的时候首先存入leader replica,然后从leader replica中复制到其它的follower replica, 只有当复制全部完成的时候consumer才可以消费此条消息这样的措施的目的是为了意外发生的时候数据可以恢复consumer的消费也是从leader replica中获取的。
概念要点补充
一个partition只能被同组的一个consumer消费同一个组里的一个consumer可以消费多个partition消费效率最高的情况是partition和consumer 的数量相同这样可以确保每个consumer可以专职负责一个partitionconsumerd的数量不能多余partition的数量当consumer的数量大于partition时就会有consumer闲置consumer可以认为是一个订阅者的集群其中的每个consumer负责自己所消费的分区
参考资料
1、https://www.cnblogs.com/itlz/p/15470456.html