网站维护中要多久才能重新进入中国纪检监察报电子版2021
网站维护中要多久才能重新进入,中国纪检监察报电子版2021,wordpress 即时联系,托管网站服务器Kafka3.0之前依赖于zookeeper
Zookeeper开源#xff0c;分布式的架构#xff0c;提供协调服务#xff08;apache项目#xff09;
基于观察者模式设计的分布式服务管理架构
存储和管理数据#xff0c;分布式节点上的服务接受观察者的注册#xff0c;一旦分布式节点上的…Kafka3.0之前依赖于zookeeper
Zookeeper开源分布式的架构提供协调服务apache项目
基于观察者模式设计的分布式服务管理架构
存储和管理数据分布式节点上的服务接受观察者的注册一旦分布式节点上的数据发生变化由zookeeper开负责通知分布式节点上的服务 Zookeeper 分为领导者和追随者 leaderfoollower
只有一般以上的集群存活zookeeper集群可以正常工作适用于安装奇数台的服务集群
全局数据一致每个zookeeper每个节点都保存相同的数据维护监控服务的数据一致
数据更新的原子性要么都成功要么都失败。 Zookeeper的应用场景
统一命名服务在分布式的环境下对所有的应用和服务进行统一的命名统一配置管理配置文件同步kafka的配置文件被修改可以快速同步到其他节点统一集群管理实时掌握所有节点的状态服务器动态上下线负载均衡把访问服务器的数据发送到访问最少的服务器处理客户端的请求 领导者zookeeper的选举机制
三台服务器 A B C
A先启动发起第一次选举投票给自己只有一票不满半数A的状态是looking
B启动再次发起选举A和B分别投自己一票交换选票信息myidA发现B的myid比A大A的这一票转而投给B
A0 B2 没有半数以上结果A B会进入looking
C启动 MYID c的myid最大 A和B都会把票给C A0 B0 C3
C的状态变为leadera和b变成follower
D myid4 只要leader确定后续的服务器都是追随者
只有两种情况会开启选举机制
初始化的情况会产生选举服务器之间的leader丢失了连接状态
Leader已经存在建立连接即可
Leader不存leader不存在
服务器ID大的胜出EPOCH大直接胜出EPOCH相同事务ID大的胜出EPOCH每个leader任期的代号没有leader大家的逻辑地址相同每次投完一次之后数据都是递增事务id表示服务器的每一次变更每变更一次事务id变化一次
服务器IDzookeeper集群当中都有一个id每台机器不重复和myid保持一致。 消息队列kafka
为什么要引入消息队列这个机制(MQ),首先它是一个中间件他负责发消息客户到中间到服务端服务端到中间件再到客户端在高并发环境下同步请求来不及处理来不及处理的请求会形成阻塞比方说数据库就会形成行锁或者表锁请求线程满了超标了too manyconnection出现就会引发系统雪崩
消息队列的作用
异步处理请求流量削峰应用解耦耦合在软件系统当中修改一个组件需要修改所有其他组件高度耦合低度耦合修改其中一个组件对其他组件影响不大无需修改所有解耦只要通信保证其他的修改不影响整个集群每个组件可以独立的跨站修改降低组件之间的依赖性 已来电就是接口约束通过不同的端口保证集群通信 可恢复性系统当中的有一部分组件小时不影响整个系统也就是说在消息队列当中即使有一个处理消息的进程失败一旦恢复还可以重新加入到队列当中继续处理消息 缓冲可以控制和优化数据经过系统的时间和速度解决生产消息和消费消息处理速度不一致问题 峰值的处理能力消息队列在峰值情况之下能够顶住突发的访问压力避免了专门为了突发情况而对系统进行修改。 异步通信允许用户把一个消息放入队列但是不立即处理等用户想处理的时候在再处理。 消息队列的模式
点对点 一对一消息的生产者发送消息到队列中消费者从队列中提取消息消费者提取完之后队列将不再存储被提取的消息队列中被提取的消息会被移除后续消费者不能在消费队列当中的消息消息队列可以有多个消费者但是一个消息只能有一个消费者发布/订阅模式1对多又叫观察者模式消费者提取数据之后队列当中的消息不会被清除 生产者发布一个消息到主题所有消费者都是通过主题获取消息
主题topic topic类似一个数据流的管道生产者把消息发布到主题消费者从主题当中订阅数据主题可以分区每个分区都有自己的偏移量
分区partion 每个主题可以分成多个分区每个分区都是数据的有序子集分区可以允许kafka进行水平拓展以处理大量数据消息在分钟按照偏移量存储消费者可以独立读取每个分区的数据
偏移量 是每个消息在分区中唯一的标识消费者可以通过偏移量来跟踪获取已读或者未读消息的位置也可以提交偏移量来记录已处理的信息
生产者producer生产者把数据发送kafka的主题当中负责写入消息
消费者从主题当中读取数据消费者可以是一个也可以十多个每个消费者有一个唯一的消费者组IDkafka通过消费者实现负载均衡和容错性
经纪人 broker每个kafka节点都有一个borker每个负责一个kafka服务器id唯一存储主题分区当中的数据处理生产和消费者的请求以及维护元数据(zookeeper)3.0之后不依赖zookeeper的核心元数据由kafka节点自己管理 Zookeeperzookeeper负责保存元数据元数据就是topic的相关信息(发布在哪台主机,制定了多少分区以及副本数偏移量) Zookeeper自建一个主题_consumer_offsets zookeeper主要是分布式观察者模式统一各个服务器节点的数据在kafka当中收集保存kafka的元数据Kafka消息队列订阅发布模式
RABBIT MQ(实现rabbit MQ消息队列) Kafka的工作流程
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/89493.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!