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

没有公司自己做网站搭建网站 软件下载

没有公司自己做网站,搭建网站 软件下载,公司注册号查询官网,青岛公交优化Kafka学习笔记1#xff08;千峰教育#xff09; 一、为什么使用消息队列1.使用同步的通信方式来解决多个服务之间的通信2.使用异步的通信方式 二、消息队列的流派1.有broker2.无broker 三、Kafka的基本知识1.Kafk2a的安装2.Kafka中的一些基本概念3.创建topic4.发送消息5.消费… Kafka学习笔记1千峰教育 一、为什么使用消息队列1.使用同步的通信方式来解决多个服务之间的通信2.使用异步的通信方式 二、消息队列的流派1.有broker2.无broker 三、Kafka的基本知识1.Kafk2a的安装2.Kafka中的一些基本概念3.创建topic4.发送消息5.消费消息6.关于消息的细节7.单播消息8.多播消息9.查看消费组的详细信息 四、Kafka中主题和分区的概念1.主题Topic2.分区Partition1分区的概念2创建多分区的主题 3.kafka中消息日志文件中保存的内容 五、Kafka集群操作1.搭建kafka集群三个broker2.副本的概念3.关于集群消费1向集群发送消息2从集群消费消息3指定消费组来消费消息4分区分消费组的集群消费中的细节 一、为什么使用消息队列 1.使用同步的通信方式来解决多个服务之间的通信 同步的通信方式会存在性能和稳定性的问题。 2.使用异步的通信方式 针对于同步的通信方式来说异步的方式可以让上游快速成功极大提高了系统的吞吐量。而且在分布式系统中通过下游多个服务的分布式事务的保障也能保障业务执行之后的最终一致性。 消息队列解决具体的是什么问题——通信问题。 二、消息队列的流派 目前消息队列的中间件选型有很多种 rabbitMQ内部的可玩性功能性是非常强的rocketMQ阿里内部一个大神根据kafka的内部执行原理手写的一个消息队列中间件。性能是与kafka比肩除此之外在功能上封装了更多的功能。kafka全球消息处理性能最快的一款MQzeroMQ 这些消息队列中间件有什么区别 1.有broker 重topickafka、RocketMQ、ActiveMQ 整个broker依据topic来进行消息的中转。在重topic的消息队列里必然需要topic的存在。 轻topicRabbitMQ topic只是一种中转模式。 2.无broker 在生产者和消费者之间没有使用broker例如zeroMQ直接使用socket进行通信。 三、Kafka的基本知识 1.Kafk2a的安装 部署一台zookeeper服务器 安装jdk 下载kafka的安装包https://kafka.apache.org/downloads 上传kafka到服务器上/user/local/kafka 解压缩压缩包 进入到config目录内修改server.properties #broker.id属性在kafka集群中必须是要唯一 broker.id0 #kafka部署的机器ip和提供服务的端口号 listenersPLAINTEXT://服务器IP:9092 #kafka的消息存储文件 log.dir/usr/local/data/kafka-logs #kafka连接zookeeper的地址 zookeeper.connect服务器IP:2181进入到bin目录内执行以下命令来启动kafka服务器带着配置文件 ./kafka-server-start.sh -daemon ../config/server.properties校验kafka是否启动成功 进入到zk内查看是否有kafka的节点brokers/ids/0 2.Kafka中的一些基本概念 kafka中有这么些复杂的概念 名称解释Broker消息中间件处理节点一个Kafka节点就是一个broker一个或多个Broker可以组成一个Kafka集群TopicKafka根据topic对消息进行归类发布到Kafka集群的每条消息都需要指定一个topicProducer消息生产者向Broker发送消息的客户端Consumer消息消费者从Broker读取消息的客户端 3.创建topic 通过kafka命令向zk中创建一个主题 ./kafka-topics.sh --create --zookeeper ip:2181 --replication-factor 1 --partitions 1 --topic test查看当前zk中所有的主题 ./kafka-topics.sh --list --zookeeper ip:2181 test4.发送消息 把消息发送给broker中的某个topic打开一个kafka发送消息的客户端然后开始用客户端向kafka服务器发送消息 ./kafka-console-producer.sh --broker-list ip:9092 --topic test5.消费消息 打开一个消费消息的客户端向kafka服务器的某个主题消费信息 方式一从当前主题中的最后一条消息的offset偏移量位置1开始消费 ./kafka-console-consumer.sh --bootstrap-server ip:9092 --topic test方式二从当前主题中的第一条消息开始消费 ./kafka-console-consumer.sh --bootstrap-server ip:9092 --from-beginning --topic test6.关于消息的细节 生产者将消息发送给brokerbroker会将消息保存在本地的日志文件中 /usr/local/kafka/data/kafka-logs/主题-分区/000000000.log消息的保存是有效的通过offset偏移量来描述消息的有序性 消费者消费信息时也是通过offset来描述当前要消费的那条消息的位置 7.单播消息 在一个kafka的topic中启动两个消费者一个生产者。问生产者发送消息这条消息是否同时会被两个消费者消费 如果多个消费者在同一个消费组那么只有一个消费者可以收到订阅的topic中的消息。换言之同一个消费组中只能有一个消费者收到一个topic中的消息。 ./kafka-console-consumer.sh --bootstrap-server ip:9092 --consumer-property gropu.idtestGroup --topic test8.多播消息 不同的消费组订阅同一个topic那么不同的消费组中只有一个消费者能收到消息。实际上也是多个消费组中的多个消费者收到了同一个消息。 #消费组testGroup1 ./kafka-console-consumer.sh --bootstrap-server ip:9092 --consumer-property gropu.idtestGroup1 --topic test #消费组testGroup2 ./kafka-console-consumer.sh --bootstrap-server ip:9092 --consumer-property gropu.idtestGroup2 --topic test9.查看消费组的详细信息 通过以下命令可以查看到消费组的详细信息 ./kafka-consumer-groups.sh --bootstrap-server ip:9092 --describe --group testGroup重点关注以下几个信息 Currennt-offset当前消费组的已消费偏移量Log-end-offset主题对应分区消息的结束偏移量HWLag当前消费组未消费的消息数 四、Kafka中主题和分区的概念 1.主题Topic 主题-topic在kafka中是一个逻辑的概念kafka通过topic将消息进行分类。不同的topic会被订阅该topic的消费者消费。 但是有一个问题如果说这个topic中的消息非常非常多多到需要几T来存因为消息是会保存到log日志文件中的。为了解决这个文件过大的问题kafka提出了Partition分区的概念。 2.分区Partition 1分区的概念 通过partition将一个topic中的消息来存储。这样的好处有多个 分区存储可以解决统一存储文件过大的问题。 提供了读写的吞吐量读和写可以同时在多个分区中进行。 2创建多分区的主题 ./kafka-topics.sh --create --zookeeper ip:2181 --replication-factor 1 --partitions 2 --topic test13.kafka中消息日志文件中保存的内容 00000.log这个文件中保存的就是消息。 _consumer_offsets-49 kafka内部自己创建了_consumer_offset主题包含了50个分区。这个主题用来存放消费者消费某个主题的偏移量因为每个消费者都会自己维护消费的主题的偏移量也就是说每个消费者会把消费的主题的偏移量自主上报给kafka中的默认主题consumer_offsets。因为kafka为了提升这个主题的并发性默认设置了50个分区。 提交到哪个分区通过hash函数确定hashconsumerGroupId%_consumer_offsets主题的分区数。提交到该主题中的内容是key是consumerGroupIdtopic分区号value就说当前offset的值。 文件中保存的消息默认保存7天7天到后消息会被删除。 五、Kafka集群操作 1.搭建kafka集群三个broker 创建三个server.properties文件 # 0 1 2 broker.id2 # 9092 9093 9094 listenersPLAINTEXT://192.168.65.60:9004 # kafka-logs kafka-logs-1 kafka-logs-2 log.dir/usr/local/data/kafka-logs-2通过命令来启动三台broker ./kafka-server-start.sh -daemon ../config/server.properties ./kafka-server-start.sh -daemon ../config/server1.properties ./kafka-server-start.sh -daemon ../config/server2.properties校验是否启动成功 进入到zk中查看/brokers/ids中是否有3个znode012 2.副本的概念 在创建主题时除了指明主题的分区数外还指明了副本数那么副本是一个什么概念呢 副本是为了给主题中的分区创建多个备份多个副本在kafka集群的多个broker中会有一个副本作为leader其他是follower。 leaderkafka的写和读的操作都发生在leader上。leader负责把数据同步给follower。当leader挂了经过主从 选举从多个follower中选举产生一个新的leader。follower接受leader同步的数据。isr可以同步和已同步的节点会被存入到isr集合中。细节如果isr中的节点性能比较差会被踢出isr集合。 重点~此时broker、主题、分区、副本这些概念就全部展现了大家需要把这些概念梳理清除 集群中有多个broker创建主题时可以指明主题有多个分区把消息拆分到不同的分区中存储可以为分区创建多个副本不同的副本存放在不同的broker里。 3.关于集群消费 1向集群发送消息 ./kafka-console-producer.sh --broker-list ip1:9092,ip1:9093,ip1:9094 --topic my-replicated-topic2从集群消费消息 ./kafka-console-consumer.sh --bootstrap-server ip1:9092,ip1:9093,ip1:9094 --from-beginning --topic my-replicated-topic3指定消费组来消费消息 ./kafka-console-consumer.sh --bootstrap-server ip1:9092,ip1:9093,ip1:9094 --from-beginning --consumer-property group.idtestGroup1 --topic my-replicated-topic4分区分消费组的集群消费中的细节 一个partition只能被一个消费组中的一个消费者消费目的是为了保证消费的顺序性但是多个partition的多个消费者消费的总的顺序性是得不到保证的那怎么做到消费的总顺序性呢partition的数量决定了消费组中消费者的数量建议同一个消费组中消费者的数量不要超过partition的数量否则多个消费者没有消息消费。如果消费者挂了那么会触发rebalance机制会让其他消费者来消费该分区。
http://www.pierceye.com/news/195258/

相关文章:

  • 烟台优化网站重庆酉阳网站设计公司
  • 网站维护工作太原公司网站建设
  • 个性化网站建设报价案例查询网站
  • 淘宝网站框架项目管理软件下载
  • 网站建设课程内容如何优化关键词
  • 龙口网站建设公司电子商务网站建设 课件
  • 权威做网站的公司网站织梦程序改成wordpress
  • 用cms建网站容易吗平面设计网课平台哪个好
  • 网站设计怎么做好什么视频直播网站做挣钱
  • 西安 网站开发 招聘app开发难吗
  • 富阳网站建设 优帮云邯郸市商标设计品牌策划公司
  • 整站优化费用中国网新重庆
  • 找别人做网站wordpress怎么更改栏目权限
  • 珠海市建设工程质量监督检测站网站在小网站上做点击广告
  • 网站拉圈圈接口怎么做传媒网站设计
  • 淘宝客做的最好的网站盐山建网站
  • 西城企业网站建设深圳设计网站多少钱
  • 电子商务网站建设a卷网站建设厘金手指排名二一
  • 网站空间便宜网站的信息管理建设的必要性
  • 校级特色专业建设网站博达站群网站建设教程
  • 有没有做任务的网站吗网站首页开发
  • 公司名字变了网站备案济南网站建设公司哪个好点呢
  • 图书馆网站建设的规章制度企业免费招聘网站
  • 效果图网站大全系统优化的例子
  • 京东的网站建设介绍网站开发要源码多少钱
  • 东莞网站制作公司报价企业定制
  • 创同盟做网站生成拼贴的网站
  • 网站备案号查电话号码商场网站开发
  • 手机网站建站教育模板下载泰州公司注册
  • 如何做商业网站推广西安市城乡建设管理局网站的公示栏