当前位置: 首页 > news >正文

横岗网站建设公司手机价格大全

横岗网站建设公司,手机价格大全,重庆网站建设 渝icp,做网站图片像素戳蓝字“CSDN云计算”关注我们哦#xff01;技术头条#xff1a;干货、简洁、多维全面。更多云计算精华知识尽在眼前#xff0c;get要点、solve难题#xff0c;统统不在话下#xff01;大家都知道 Kafka 是一个非常牛逼的消息队列框架#xff0c;阿里的 RocketMQ 也是在 … 戳蓝字“CSDN云计算”关注我们哦技术头条干货、简洁、多维全面。更多云计算精华知识尽在眼前get要点、solve难题统统不在话下大家都知道 Kafka 是一个非常牛逼的消息队列框架阿里的 RocketMQ 也是在 Kafka 的基础上进行改进的。对于初学者来说一开始面对这么一个庞然大物会不知道怎么入手。那么这篇文章就带你先了解一下 Kafka 的技术架构让你从全局的视野认识 Kafka。了解了 Kafka 的整体架构和消息流程之后脑海里就会有一个大致的结构这时候再去学习每个部分就容易得多了。我们先来看一下 Kafka 的整体架构图Kafka 的架构图可以分为四个部分Producer Cluster生产者集群。一般由许多个实际的业务项目组成其不断地往 Kafka 集群中写入数据。Kafka ClusterKafka 服务器集群。这里就是 Kafka 作为重要的一部分这里负责接收生产者写入的数据并将其持久化到文件里最终将消息提供给 Consumer Cluster。Zookeeper ClusterZookeeper 集群。Zookeeper 负责维护整个 Kafka 集群的 Topic 信息、Kafka Controller 等信息。Consumer Cluster消费者集群。与 Producer Cluster 一样其一般是由许多个实际的业务项目组成不断地从 Kafka Cluster 中读取数据。了解了 Kafka 的整体架构那一个消息是怎么从生产者到 Kafka Server又是如何从 Kafka Server 到消费者的呢一般来说一个消息的流转可以分为下面几个阶段服务器启动阶段生产者发送消息阶段Kafka存储消息阶段消费者拉取消息阶段服务器启动阶段首先我们会启动 Zookeeper 服务器作为集群管理服务器。接着启动 Kafka Server。Kafka Server 会向 Zookeeper 服务器注册信息接着启动线程池监听客户端的连接请求。最后启动生产者和消费者连接到 Zookeeper 服务器从 Zookeeper 服务器获取到对应的 Kafka Server 信息[1]。生产者发送消息阶段当需要将消息存入消息队列中时生产者根据配置的分片算法选择分到哪一个 partition 中。在发送一条消息时可以指定这条消息的 keyProducer 根据这个 key 和 Partition 机制来判断应该将这条消息发送到哪个 Parition。Paritition 机制可以通过指定 Producer 的 paritition.class 这一参数来指定该 class 必须实现 kafka.producer.Partitioner 接口。如果不实现 Partition 接口那么会使用默认的分区算法即根据根据 key 哈希后取余[2]。随后生产者与该 Partition Leader 建立联系之后将消息发送至该 partition leader。之后生产者会根据设置的 request.required.acks 参数不同选择等待或或直接发送下一条消息。request.required.acks 0 表示 Producer 不等待来自 Leader 的 ACK 确认直接发送下一条消息。在这种情况下如果 Leader 分片所在服务器发生宕机那么这些已经发送的数据会丢失。request.required.acks 1 表示 Producer 等待来自 Leader 的 ACK 确认当收到确认后才发送下一条消息。在这种情况下消息一定会被写入到 Leader 服务器但并不保证 Follow 节点已经同步完成。所以如果在消息已经被写入 Leader 分片但是还未同步到 Follower 节点此时Leader 分片所在服务器宕机了那么这条消息也就丢失了无法被消费到。request.required.acks -1 表示 Producer 等待来自 Leader 和所有 Follower 的 ACK 确认之后才发送下一条消息。在这种情况下除非 Leader 节点和所有 Follower 节点都宕机了否则不会发生消息的丢失。Kafka存储消息阶段当 Kafka 接收到消息后其并不直接将消息写入磁盘而是先写入内存中。之后根据生产者设置参数的不同选择是否回复 ack 给生产者。之后有一个线程会定期将内存中的数据刷入磁盘这里有两个参数控制着这个过程# 数据达到多少条就将消息刷到磁盘#log.flush.interval.messages10000# 多久将累积的消息刷到磁盘任何一个达到指定值就触发写入#log.flush.interval.ms1000如果我们设置 log.flush.interval.messages1那么每次来一条消息就会刷一次磁盘。通过这种方式就可以达到消息绝对不丢失的目的这种情况我们称之为同步刷盘。反之我们称之为异步刷盘。于此同时Kafka 服务器也会进行副本的复制该 Partition 的 Follower 会从 Leader 节点拉取数据进行保存。然后将数据存储到 Partition 的 Follower 节点中。消费者拉取消息阶段在消费者启动时其会连接到 zk 注册节点之后根据所连接 topic 的 partition 个数和消费者个数进行 partition 分配。一个 partition 最多只能被一个线程消费但一个线程可以消费多个 partition。其分配算法如下1. 将目标 topic 下的所有 partirtion 排序存于PT2. 对某 consumer group 下所有 consumer 排序存于 CG第 i 个consumer 记为 Ci3. Nsize(PT)/size(CG)向上取整4. 解除 Ci 对原来分配的 partition 的消费权i从0开始5. 将第i*N到i1*N-1个 partition 分配给 Ci我们用例子简单描述下这个算法的内容假设我们连接的 topic 有 8 个 partition此时有 3 个消费线程。那么 partition 的分配过程大致是这样的8/32.667向上取整就是3也就是说每个consumer分配3个分区。那么给第一个消费者分配p0/p1/p2三个分区。给第二个消费者分配p3/p4/p5三个分区。给第三个消费者分配p6/p7两个分区。接着消费者连接对应分区的 Kafka Server并从该分区服务器拉取数据。总结这篇文章简单介绍了 Kafka 框架的技术架构以及消息流转过程并介绍了其中的某些细节。通过这篇文章相信大家对 Kafka 框架应该有个大致的了解。参考资料[1].kafka broker启动流程和server结构[2].kafka发送消息分区选择策略详解 福利扫描添加小编微信备注“姓名公司职位”加入【云计算学习交流群】和志同道合的朋友们共同打卡学习推荐阅读Elastic Jeff Yoshimura开源正在开启新一轮的创新 | 人物志深入浅出Docker 镜像 | 技术头条19岁当老板, 20岁ICO失败, 21岁将项目挂到了eBay, 为何初创公司如此艰难?码二代的出路是什么机器学习萌新必备的三种优化算法 | 选型指南小程序的侵权“生死局”996 程序员ICU 你真的去不起真香朕在看了
http://www.zqtcl.cn/news/626971/

相关文章:

  • 服务注册中心有哪些给你一个网站你如何做优化
  • 我做网站如何分流客户openwrt 做视频网站
  • 徐州微信网站建设建设工程项目
  • 便宜网站建设公司envision wordpress
  • 网站怎么做百度快照logo网站域名做固定资产怎么处理
  • 2003 iis网站发布工会网站建设管理工作总结
  • 商城网站大概多少钱长沙网站设计公司推荐
  • 海南省交通建设局网站首页做网站开发一般用什么语言
  • 个人备案网站沭阳哪里可以做网站
  • 环球资源网站什么时候做的搜索引擎优化名词解释
  • 名者观看网站做商城网站还要服务器
  • 网站建设课程考核方案广州 天河网站设计
  • 写作网站哪个比较赚钱小红书推广运营
  • 明年做啥网站能致富网站 公众号 建设方案
  • wordpress怎么修改网站标题做招投标应该了解的网站
  • 大庆市网站建设公司dooplay主题wordpress
  • 小学网站建设实施方案手机网站策划书方案
  • 延边网站建设国外设计公司网站欣赏
  • 团队介绍网站建设武功县住房和城乡建设局官网站
  • 如何用模板做网站爱采购官网首页
  • 网站开发存在的问题wordpress 怎么登陆后台
  • 网站建设动态部分实训报告wordpress 普通文本 quot
  • 常州微信网站建设流程本地主机做网站服务器
  • 阿里巴巴seo排名优化seo搜索引擎优化实战
  • 做班级网站的目的企点财税
  • 品牌建设网站特点有哪些企业可以做招聘的网站
  • wordpress 做网站seo全称英文怎么说
  • 宁波建网站哪家值得信赖wordpress 默认图片路径
  • 网站代运营公司天津手机版建站系统
  • 公司网站怎么做才高大上大数据营销的含义