<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] ## 概述 kafka :https://juejin.im/post/6844904013062733837 消息隊列:https://mp.weixin.qq.com/s?__biz=MzI4Njg5MDA5NA==&mid=2247485080&idx=1&sn=f223feb9256727bde4387d918519766b&chksm=ebd74799dca0ce8fa46223a33042a79fc16ae6ac246cb8f07e63a4a2bdce33d8c6dc74e8bd20&token=1755043505&lang=zh_CN#rd Redis合集:https://mp.weixin.qq.com/s?__biz=MzI4Njg5MDA5NA==&mid=2247484609&idx=1&sn=4c053236699fde3c2db1241ab497487b&chksm=ebd745c0dca0ccd682e91938fc30fa947df1385b06d6ae9bb52514967b0736c66684db2f1ac9&token=177635168&lang=zh_CN&scene=21#wechat_redirect 拉模式和推模式:https://cloud.tencent.com/developer/news/684791 那為什么還需要消息隊列(MQ)這種**中間件**呢???其實這個問題, Redis是一個以`key-value`形式存儲的內存數據庫,明明我們可以使用類似HashMap這種實現類就可以達到類似的效果了,那還為什么要Redis?《[Redis合集] * 到這里,大家可以先猜猜為什么要用消息隊列(MQ)這種**中間件**,下面會繼續補充。 我想的原因有 1. 可以水平擴展生產者,消費者。增加吞吐量 消息隊列可以簡單理解為:**把要傳輸的數據放在隊列中**。 ## kafka 下載 & 安裝 & 配置 使用docker安裝 ### 拉取kafka和zookeeper鏡像并啟動容器 ``` docker pull wurstmeister/zookeeper docker pull wurstmeister/kafka ``` 啟動zookeeper容器 ``` $ docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper ``` 啟動kafka容器 ``` docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.6.143:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.6.143:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka ``` 這里面主要設置了4個參數 ``` KAFKA_BROKER_ID=0 KAFKA_ZOOKEEPER_CONNECT=192.168.6.143:2181 KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.6.143:9092 KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 ``` 中間兩個參數的192.168.204.128改為宿主機器的IP地址,如果不這么設置,可能會導致在別的機器上訪問不到kafka。 ### 啟動 消息發送方和接收方 進入kafka容器的命令行 ``` docker exec -it kafka /bin/bash ``` 進入kafka所在目錄 ``` cd /opt/kafka_2.13-2.6.0/ ``` 啟動消息發送方 ``` ./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic mykafka ``` 克隆會話 進入kafka所在目錄 ``` cd /opt/kafka_2.13-2.6.0/ ``` 啟動消息接收方 ``` ./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic mykafka --from-beginning ``` ### 測試kafka 在消息發送方輸入123456 在消息接收方查看 如果看到123456 消息發送完成 ### 集群搭建 使用docker命令可快速在同一臺機器搭建多個kafka,只需要改變brokerId和端口 ``` docker run -d --name kafka1 -p 9093:9093 -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=192.168.1.100:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.100:9093 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9093 -t wurstmeister/kafka ``` 創建Replication為2,Partition為2的topic 在kafka容器中的opt/kafka_2.12-1.1.0/目錄下輸入 ``` bin/kafka-topics.sh --create --zookeeper 192.168.1.100:2181 --replication-factor 2 --partitions 2 --topic partopic ``` 查看topic的狀態 在kafka容器中的opt/kafka\_2.12-1.1.0/目錄下輸入 ``` bin/kafka-topics.sh --describe --zookeeper 192.168.1.100:2181 --topic partopic ``` 輸出結果: ``` Topic:partopic PartitionCount:2 ReplicationFactor:2 Configs: Topic: partopic Partition: 0 Leader: 0 Replicas: 0,1 Isr: 0,1 Topic: partopic Partition: 1 Leader: 0 Replicas: 1,0 Isr: 0,1 ``` 顯示每個分區的Leader機器為broker0,在broker0和1上具有備份,Isr代表存活的備份機器中存活的。 當停掉kafka1后, ``` docker stop kafka1 ``` 再查看topic狀態,輸出結果: ``` Topic:partopic PartitionCount:2 ReplicationFactor:2 Configs: Topic: partopic Partition: 0 Leader: 0 Replicas: 0,1 Isr: 0 Topic: partopic Partition: 1 Leader: 0 Replicas: 1,0 Isr: 0 ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看