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

网站形式的设计厦门网站开发建设

网站形式的设计,厦门网站开发建设,服务器上搭建网站,百度助手手机下载文章目录 day08_Kafka课程笔记一、今日课程内容一、消息队列#xff08;了解#xff09;**为什么消息队列就像是“数据的快递员”#xff1f;****实际意义**1、产生背景2、消息队列介绍2.1 常见的消息队列产品2.2 应用场景2.3 消息队列中两种消息模型 二、Kafka的基本介绍1、… 文章目录 day08_Kafka课程笔记一、今日课程内容一、消息队列了解**为什么消息队列就像是“数据的快递员”****实际意义**1、产生背景2、消息队列介绍2.1 常见的消息队列产品2.2 应用场景2.3 消息队列中两种消息模型 二、Kafka的基本介绍1、Kafka基本介绍**为什么 Kafka 就像是“数据的高速公路”****实际意义**2、回顾zookeeper知识回顾启动zookeeper服务回顾zookeeper工具连接 3、Kafka的架构掌握 三、Kafka的集群搭建操作1、软件安装2、安装易错点3、配置Kafka的一键化启动4、启动服务5、操作kafka的多种方式 四、Kafka的shell命令使用topics操作producer和consumer操作bootstrap-server和zookeeper以及broker-list的区别: 五、kafka tools工具使用熟悉3-1 连接配置3-2 创建主题3-3 删除主题3-4 主题下的数据查看3-5 数据发送和接收 六、Kafka的Python API的操作熟悉模块安装模块使用3.1 完成生产者代码3.2 完成消费者代码 01_生产者代码入门.py02_消费者代码入门.py day08_Kafka课程笔记 一、今日课程内容 1- 消息队列了解2- Kafka的基本介绍掌握架构其他了解3- Kafka的集群搭建操作4- Kafka的相关使用掌握kafka常用shell命令 今日目的掌握Kafka架构 一、消息队列了解 简单来说消息队列就像是“数据的快递员”在应用程序之间传递消息确保数据能够可靠、高效地传输和处理。 具体而言 核心概念 消息需要传递的数据单元可以是文本、JSON、二进制等格式。队列存储消息的容器遵循先进先出FIFO的原则。生产者发送消息的应用程序。消费者接收和处理消息的应用程序。 特点 异步通信生产者和消费者不需要同时在线消息可以暂存于队列中。解耦生产者和消费者之间无需直接交互降低了系统耦合度。可靠性消息队列通常支持持久化确保消息不会丢失。扩展性支持多个生产者和消费者便于系统扩展。 实际生产场景 在电商系统中使用消息队列处理订单确保订单数据可靠传输。在日志收集中使用消息队列缓冲日志数据避免数据丢失。在微服务架构中使用消息队列实现服务间的异步通信。 总之消息队列是分布式系统中重要的组件通过异步通信和解耦提高了系统的可靠性、扩展性和灵活性。 为什么消息队列就像是“数据的快递员” 传递数据可靠传输 快递员将包裹从发件人送到收件人确保包裹安全到达。消息队列将消息从生产者传递到消费者确保数据可靠传输。 异步通信无需实时交互 快递员发件人和收件人不需要同时在场包裹可以暂存在快递点。消息队列生产者和消费者不需要同时在线消息可以暂存于队列中实现异步通信。 解耦系统降低依赖 快递员发件人和收件人无需直接联系通过快递员完成交互。消息队列生产者和消费者之间无需直接交互降低了系统耦合度。 可靠性确保数据不丢失 快递员通过物流系统确保包裹不丢失。消息队列通过持久化机制确保消息不丢失即使系统故障也能恢复。 扩展性支持多对多通信 快递员可以同时为多个发件人和收件人服务。消息队列支持多个生产者和消费者便于系统扩展和负载均衡。 实际意义 消息队列就像“数据的快递员”通过异步通信、解耦系统、可靠传输和扩展性确保数据能够在分布式系统中高效、可靠地传递和处理。 1、产生背景 消息队列指的数据在一个容器中从容器中一端传递到另一端的过程 消息(message): 指的是数据只不过这个数据存在一定流动状态 队列(queue): 指的容器可以存储数据只不过这个容器具备FIFO(先进先出)特性思考: 公共容器需要具备什么特点? 1- 公共性: 各个程序都可以与之对接 2- FIFO特性: 先进先出 3- 具备高效的并发能力: 能够承载海量数据 4- 具备一定的容错能力: 比如支持重新读取消息方案2、消息队列介绍 2.1 常见的消息队列产品 MQmessage queue消息队列 activeMQ: 出现时期比较早的一款消息队列的中间件产品在早期使用人群是非常多目前整个社区活跃度严重下降使用人群很少了 rabbitMQ: 此款是目前使用人群比较多的一款消息队列的中间件的产品社区活跃度比较高主要是应用传统业务领域中 rocketMQ: 是阿里推出的一款消息队列的中间件的产品目前主要是在阿里系环境中使用目前支持的客户端比较少主要是Java中应用较多 Kafka: Apache旗下的顶级开源项目是一款消息队列的中间件产品项目来源于领英是大数据体系中目前为止最为常用的一款消息队列的产品2.2 应用场景 应用解耦合异步处理限流削峰消息驱动系统 2.3 消息队列中两种消息模型 在Java中, 为了能够集成消息队列的产品, 专门提供了一个消息队列的协议: JMS(Java Message Server) java消息服务消息队列中两个角色: 生产者(producer) 和 消费者(consumer) 生产者: 生产/发送消息到消息队列中 消费者: 从消息队列中获取消息在JMS规范中, 专门规定了两种消息消费模型: 1- 点对点消费模型: 指的一条消息最终只能被一个消费者所消费。微信聊天的私聊 2- 发布订阅消费模型: 指的一条消息最终被多个消费者所消费。微信聊天的群聊二、Kafka的基本介绍 1、Kafka基本介绍 ​ Kafka是一款消息队列的中间件产品, 来源于领英公司, 后期贡献给了Apache, 目前是Aapche旗下的顶级开源项目, 采用语言是Scala ​ 官方地址: http://kafka.apache.org ​ kafka的特点: 可靠性Kafka集群是分布式的并且有多副本的机制。数据可以自动复制可扩展性Kafka集群可以灵活的调整在线扩容耐用性Kafka数据保存在磁盘上面数据并且有多副本的机制。数据持久化而且可以一定程度上防止数据丢失高性能Kafka可以存储海量的数据虽然是使用磁盘进行数据存储但是Kafka有各种优化手段例如磁盘的顺序读写、零拷贝等提高数据的读写速度吞吐量 简单来说Kafka是一个分布式的流数据平台就像是“数据的高速公路”能够高效地处理实时数据流支持数据的发布、订阅、存储和处理。 具体而言 核心概念 Topic数据流的分类类似于消息队列的主题。Producer数据生产者将数据发布到Topic。Consumer数据消费者从Topic订阅数据。BrokerKafka集群中的服务器节点负责存储和转发数据。PartitionTopic的分区支持并行处理和水平扩展。 特点 高吞吐量支持每秒处理数百万条消息。持久化数据持久化到磁盘支持数据重放。分布式支持集群部署具备高可用性和容错能力。实时性支持实时数据流的处理和分析。 实际生产场景 在日志收集中使用Kafka收集和传输分布式系统的日志数据。在实时推荐系统中使用Kafka处理用户行为数据实时更新推荐结果。在金融领域使用Kafka处理交易数据进行实时风险监控。 总之Kafka是一个强大的分布式流数据平台广泛应用于实时数据处理、日志收集和消息传递等场景为大数据生态系统提供了高效、可靠的数据传输和处理能力。 为什么 Kafka 就像是“数据的高速公路” 高速传输高效处理数据流 高速公路车辆可以快速、高效地通行。Kafka支持高吞吐量每秒可以处理数百万条消息确保数据流的高速传输。 多车道并行分区与扩展 高速公路多车道设计支持车辆并行通行。Kafka通过Partition分区实现数据的并行处理和水平扩展提高数据处理能力。 持久化存储数据不丢失 高速公路有完善的基础设施确保车辆安全通行。Kafka数据持久化到磁盘支持数据重放确保数据不丢失。 分布式架构高可用性与容错 高速公路有多条备用路线避免交通堵塞或事故中断。Kafka支持集群部署具备高可用性和容错能力即使部分节点故障数据仍能正常传输。 实时性快速响应 高速公路车辆可以快速到达目的地。Kafka支持实时数据流的处理和分析确保数据能够快速传递到消费者。 实际意义 Kafka就像“数据的高速公路”通过高吞吐量、分区并行、持久化存储和分布式架构确保数据流能够高效、可靠地传输和处理为实时数据应用提供了强大的支持。 2、回顾zookeeper知识 Kafka需要使用到zookeeper服务! 回顾启动zookeeper服务 # 三台都需要启动zookeeper服务 [rootnode1 ~]# /export/server/zookeeper/bin/zkServer.sh start [rootnode2 ~]# /export/server/zookeeper/bin/zkServer.sh start [rootnode3 ~]# /export/server/zookeeper/bin/zkServer.sh start回顾zookeeper工具连接 使用hadoop阶段发的ZooInspector软件,双击zookeeper-dev-ZooInspector.jar启动 3、Kafka的架构掌握 回顾HDFS写入过程 Kafka架构 1- Kafka中集群节点叫broker节点和节点之间没有主从之分地位是完全一样 2- Topic主题/话题是业务层面对消息进行分类的。 3- 一个Topic可以设置多个Partition分区。 4- 同一个Partition分区可以设置多个副本但是副本数不能超过集群broker节点的个数 5- 虽然broker节点间没有主从之分但是同一个Partition分区的不同副本间有主从之分分为了Leader主副本和Follower从副本 6- 生产者将数据首先发送给到Leader主副本接着是Leader主副本主动的往Follower从副本上同步消息 7- Zookeeper用来管理集群以及管理元数据信息 8- ISR同步列表。该列表中存放的是与Leader主副本消息同步程度最接近的Follower从副本也就是消息最小的一个列表。该列表作用当Leader主副本无法对外提供服务的时候会从该ISR列表中选择一个Follower从副本变成Leader主副本对外提供服务相关名词: Kafka Cluster: Kafka集群 Topic: 主题/话题 Broker: Kafka中的节点 Producer: 生产者负责生产/发送消息到Kafka中 Consumer: 消费者负责从Kafka中获取消息 Partition: 分区。一个Topic可以设置多个分区没有数量限制三、Kafka的集群搭建操作 1、软件安装 环境搭建参考【Spark课程阶段_部署文档.doc】的9.1章节内容。 2、安装易错点 1- 配置文件中监听地址前面的注释记得打开。也就是删除最前面的# 2- 分发之后记得要修改每个server.sql的 id 和 监听地址 3- 分发之后记得source /etc/profile让环境变量生效 4- 没有启动zookeeper或者仅仅启动了其中一台 5- 启动的时候server.sql中路径不要写错了 3、配置Kafka的一键化启动 注意使用一键化脚本也得需要先启动zookeeper 环境搭建参考【Spark课程阶段_部署文档.doc】的9.4章节内容。 4、启动服务 方式1: 正常启动 # 1.先在三台机器都输入以下命令,启动ZooKeeper /export/server/zookeeper/bin/zkServer.sh start# 2.再在三台集群上都输入以下命令,启动Kafka # 注意:下面是一条命令!!! nohup /export/server/kafka/bin/kafka-server-start.sh /export/server/kafka/config/server.sql 21 方式2: 使用kafka的onekey脚本 # 1.先在三台机器都输入以下命令,启动ZooKeeper /export/server/zookeeper/bin/zkServer.sh start# 2.只在node1上一键启动所有kafka服务 /export/onekey/start-kafka.sh5、操作kafka的多种方式 四、Kafka的shell命令使用 ​ Kafka本质上就是一个消息队列的中间件的产品主要负责消息数据的传递。也就说学习Kafka 也就是学习如何使用Kafka生产数据以及如何使用Kafka来消费数据 topics操作 注意: 创建topic不指定分区数和副本数,默认都是1个 分区数可以后期通过alter增大,但是不能减小 副本数一旦确定,不能修改! 参数如下: cd /export/server/kafka/bin./kafka-topics.sh 参数说明:--bootstrap-server: Kafka集群中broker服务器--topic: 指定Topic名称--partitions: 设置Topic的分区数,可以省略不写--replication-factor: 设置Topic分区的副本数,可以省略不写--create: 指定操作类型。这里是新建Topic--delete: 指定操作类型。这里是删除Topic--alter: 指定操作类型。这里是修改Topic--list: 指定操作类型。这里是查看所有Topic列表--describe: 指定操作类型。这里是查看详细且具体的Topic信息 1- 创建Topic # 创建topic,默认1个分区,1个副本 /export/server/kafka/bin/kafka-topics.sh --bootstrap-server node1:9092 --create --topic itcast # 可以使用以下参数提前查看是否是默认1个 --list: 指定操作类型。这里是查看所有Topic列表 --describe: 指定操作类型。这里是查看详细且具体的Topic信息# 注意: 如果副本数超过了集群broker节点个数就会报错 /export/server/kafka/bin/kafka-topics.sh --bootstrap-server node1:9092 --create --topic itheima --partitions 4 --replication-factor 4# 把replication-factor改成3以内就能创建成功了 /export/server/kafka/bin/kafka-topics.sh --bootstrap-server node1:9092 --create --topic itheima --partitions 4 --replication-factor 32- 查看Topic # --list查看所有topic 只有名称信息 /export/server/kafka/bin/kafka-topics.sh --bootstrap-server node1:9092 --list# --describe 可以查看详细Topic信息 /export/server/kafka/bin/kafka-topics.sh --bootstrap-server node1:9092 --describe # --describe 可以查看具体Topic信息 /export/server/kafka/bin/kafka-topics.sh --bootstrap-server node1:9092 --describe --topic itheima当然也可使用zookeeper客户端查看 3- 修改Topic 本质就是扩容分区!!! 因为分区不能减小,副本不能修改 # 增大topic分区 /export/server/kafka/bin/kafka-topics.sh --bootstrap-server node1:9092 --alter --topic itcast --partitions 4# 注意: partitions分区,只能增大不能减小。而且没有数量限制 /export/server/kafka/bin/kafka-topics.sh --bootstrap-server node1:9092 --alter --topic itcast --partitions 1# 注意: 副本既不能增大也不能减小 /export/server/kafka/bin/kafka-topics.sh --bootstrap-server node1:9092 --alter --topic itcast --partitions 4 --replication-factor 2… 4- 删除Topic # 再创建一个spark主题 /export/server/kafka/bin/kafka-topics.sh --bootstrap-server node1:9092 --create --topic spark/export/server/kafka/bin/kafka-topics.sh --bootstrap-server node1:9092 --list# 删除spark主题/export/server/kafka/bin/kafka-topics.sh --bootstrap-server node1:9092 --delete --topic spark/export/server/kafka/bin/kafka-topics.sh --bootstrap-server node1:9092 --list producer和consumer操作 消费者要和生产者指定是同一个topic主题,才能接收到消息 参数如下: cd /export/server/kafka/bin./kafka-console-producer.sh 参数说明--broker-list: Kafka集群中broker服务器--topic: 指定Topic./kafka-console-consumer.sh 参数说明--bootstrap-server: Kafka集群中broker连接信息--topic: 指定Topiclatest: 消费者默认从最新的地方开始消费--from-beginning: 指定该参数以后会从最旧的地方开始消费--max-messages: 最多消费的条数。1- 模拟生产者Producer # 为了方便演示再创建一个topic,名称为spark /export/server/kafka/bin/kafka-topics.sh --bootstrap-server node1:9092 --create --topic spark# 模拟生产者给spark发送消息 /export/server/kafka/bin/kafka-console-producer.sh --broker-list node1:9092 --topic spark-- 注意: 上述命令执行完后,出现 ,可以输入对应的消息了2- 模拟消费者Consumer 注意: 可以右键CRT客户端连接-克隆会话来模拟多个消费者 # 模拟消费者从spark获取消息,默认每次拿最新的 /export/server/kafka/bin/kafka-console-consumer.sh --bootstrap-server node1:9092 --topic spark -- 注意: 输入完上述命令后,自动接收最新的消息(因为默认latest),还可以持续接收...# --from-beginning 会从最旧的地方开始消费 /export/server/kafka/bin/kafka-console-consumer.sh --bootstrap-server node1:9092 --topic spark --from-beginning-- 注意: 输入完上述命令后,自动接收了生产者发送的所有消息,还可以持续接收...# --max-messages x 可以设置从最旧的地方最大消费次数x /export/server/kafka/bin/kafka-console-consumer.sh --bootstrap-server node1:9092 --topic spark --from-beginning --max-messages 2-- 注意: 输入完上述命令后,只接收了前2个消息就结束了,不会持续接收注意 我们有时候发现消费者打印出来的消息和生产者生产的顺序不一致是乱序的。原因如下 topic有多个分区底层是多线程来读取数据并进行打印输出。因此会存在乱序现象 bootstrap-server和zookeeper以及broker-list的区别: 旧版v2.2: kafka-topics.sh --zookeeper node1:2181,node2:2181,node3:2181/kafka --create --topic .. 注意: 旧版用--zookeeper参数主机名或IP和端口用ZooKeeper的2181也就是server.sql文件中zookeeper.connect属性的配置值.新版(v2.2): kafka-topics.sh --bootstrap-server node1:9092 --create --topic .. 注意: 新版用--bootstrap-server参数主机名或IP和端口用某个节点的即可即主机名或主机IP:9092。9092是Kafka的监听端口broker-list:broker指的是kafka的服务端可以是一个服务器也可以是一个集群。producer和consumer都相当于这个服务端的客户端。一般我们在使用console producer的时候broker-list参数是必备参数另外一个必备的参数是topicbootstrap-servers: 指的是kafka集群的服务器地址这个和broker-list功能是一样的只不过我们在console producer要求用broker-list,其他地方都采用bootstrap-servers。简单来说bootstrap-server、zookeeper和broker-list是Kafka中用于连接和协调的核心概念分别像是“导航员”、“协调员”和“服务列表”各自承担不同的角色和功能。 具体而言 bootstrap-server 功能用于客户端Producer和Consumer连接Kafka集群的入口点。客户端通过bootstrap-server获取集群的元数据如Topic分区信息并自动发现其他Broker。特点支持自动发现集群中的其他Broker简化了配置和管理。使用场景适用于Kafka 0.9及以上版本推荐在新版本中使用。示例kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testzookeeper 功能在早期版本Kafka 0.8及以前中Zookeeper用于管理Kafka集群的元数据如Broker状态、Topic分区信息和消费者偏移量offset。特点依赖Zookeeper会增加系统复杂性和性能开销因此在Kafka 0.9及以后版本中逐渐被bootstrap-server取代。使用场景适用于旧版本Kafka或需要与Zookeeper集成的场景。示例kafka-console-consumer.sh --zookeeper localhost:2181 --topic testbroker-list 功能指定Kafka集群中的一个或多个Broker地址主要用于Producer连接集群并发送消息。特点需要手动配置Broker地址列表不支持自动发现其他Broker。使用场景适用于Producer的配置尤其是在旧版本或特定场景下。示例kafka-console-producer.sh --broker-list localhost:9092 --topic test实际生产场景 在新版Kafka中推荐使用bootstrap-server因为它简化了配置并支持自动发现集群中的其他Broker。在旧版Kafka中可能需要使用zookeeper来管理消费者偏移量和集群元数据。对于Producerbroker-list仍然是一个常用的配置参数尤其是在需要手动指定Broker地址时。 总之bootstrap-server、zookeeper和broker-list在Kafka中各有其作用bootstrap-server是新版本的推荐选择zookeeper适用于旧版本而broker-list主要用于Producer的配置。根据Kafka版本和具体需求选择合适的配置方式可以提高系统的性能和可维护性。 如果需要更详细的信息可以参考相关文档或搜索来源。 五、kafka tools工具使用熟悉 可以在可视化的工具通过点击来操作kafka完成主题的创建分区等操作 注意: 安装完后桌面不会有快捷方式,需要去电脑上搜索,或者去自己选的安装位置找到发送快捷方式到桌面! 3-1 连接配置 修改工具的数据显示类型字符串类型 3-2 创建主题 3-3 删除主题 3-4 主题下的数据查看 3-5 数据发送和接收 3-5 发送消息数据到kafka 六、Kafka的Python API的操作熟悉 模块安装 纯Python的方式操作Kafka。 准备工作在node1的节点上安装一个python用于操作Kafka的库 安装kafka-python 模模块 ,模块中提供了操作kafka的方法 在线安装 在node1上安装就可以需要保证服务器能够连接网络 安装命令: python -m pip install kafka-python -i https://pypi.tuna.tsinghua.edu.cn/simple离线安装 将kafka_python-2.0.2-py2.py3-none-any.whl安装包上传服务器software目录下进行安装 安装命令: pip install kafka_python-2.0.2-py2.py3-none-any.whl模块使用 API使用的参考文档: https://kafka-python.readthedocs.io/en/master/usage.html#kafkaproducer 模块中封装了两个类 一个是生成者类KafkaProducer提供了向kafka写数据的方法 另一个是消费者类KafkaConsumer提供了读取kafka数据的方法 3.1 完成生产者代码 生成者类KafkaProducer提供了向kafka写数据的方法 send(topic,valu)方法: 发送消息 topic参数:指定向哪个主题发送消息 value参数:指定发送的消息数据 数据类型要求是bytes类型示例: # 导包 from kafka import KafkaProducer# 编写代码 if __name__ __main__:# 创建生产者对象并指定对应服务器producer KafkaProducer(bootstrap_servers[node1:9092])# 发送消息for i in range(1,101):future producer.send(kafka, fhi_kafka_{i}.encode())# 获取元数据record_metadata future.get()# 从元数据中获取主题,分区,偏移print(record_metadata.topic)print(record_metadata.partition)print(record_metadata.offset)3.2 完成消费者代码 消费者类KafkaConsumer提供了读取kafka数据的方法 KafkaConsumer(topic,bootstrap_servers) 第一个参数:指定消费者连接的主题 第二个参数:指定消费者连接的kafka服务器示例: # 导包 from kafka import KafkaConsumer# 编写代码 if __name__ __main__:# 创建消费者对象consumer KafkaConsumer(kafka,bootstrap_servers[node1:9092])# 遍历对象for message in consumer:# 格式化打印,设置相关参数# 因为value是二进制,需要decode解码print (主题:%s,分区:%d,偏移:%d : key%s value%s% (message.topic, message.partition,message.offset, message.key, message.value.decode(utf8))) 可能遇到的错误 原因: 服务器环境有问题。是因为服务器上既安装了kafka-python的第三方依赖同时还安装kafka的第三方依赖。可以通过pip list | grep kafka进行确定 解决办法: 先将这两个第三方依赖全部卸载然后再重新执行如下命令 python -m pip install kafka-python -i https://pypi.tuna.tsinghua.edu.cn/simple01_生产者代码入门.py # 导包 import timefrom kafka import KafkaProducer# 异步发送生产者发送消息后不会等待 Kafka 的确认这种方式可以提高吞吐量但可能会牺牲一定的可靠性因为生产者无法立即知道消息是否成功发送。通常可以通过回调函数来处理发送结果。 def yibu():# 创建生产者对象producer KafkaProducer(bootstrap_servers[node1:9092])# 发送消息到kafka# 发送1到10数字到test_python主题中for i in range(1, 11):# 如果主题不存在就会自动创建对应主题(默认分区数是1),存在就使用producer.send(topicpython_test2, valuef你好啊~{i}.encode(utf-8))# 最后一定用close()释放资源一次性把对应消息发送到kafka中或者让程序多等待一会儿# producer.close()time.sleep(3)# 同步发送生产者发送消息后会阻塞等待 Kafka 确认消息已成功写入这种方式可以确保消息发送的可靠性但会降低吞吐量。 def tongbu():# 创建生产者对象producer KafkaProducer(bootstrap_servers[node1:9092])# 发送消息到kafka# 发送1到10数字到test_python主题中for i in range(1, 11):# 如果主题不存在就会自动创建对应主题(默认分区数是1),存在就使用f producer.send(topicpython_test2, valuef测试积压问题5~{i}.encode(utf-8))# 获取消息的元数据meta f.get(timeout10)print(f主题:{meta.topic},分区:{meta.partition},消息偏移量:{meta.offset})# main程序入口 if __name__ __main__:# 抽取方法的快捷键: 先选中代码, 然后按住ctrlaltM,最后起名字确认就行tongbu() 02_消费者代码入门.py # 导包 from kafka import KafkaConsumer# main程序入口 if __name__ __main__:# 创建消费者对象consumer KafkaConsumer(python_test2, group_idg_1, bootstrap_servers[node1:9092], auto_offset_resetearliest)# 获取消息# 注意: 默认是获取最新的消息for msg in consumer:print(f主题:{msg.topic},分区:{msg.partition},消息内容:{msg.value.decode(utf-8)})
http://www.hkea.cn/news/14463793/

相关文章:

  • 天津做网站多少钱中国建设银行网站怎么登录不上去
  • 一个专门做酒店招聘的网站做app和网站
  • 找工程分包网站微信聊天记录删除了怎么恢复
  • 好的设计公司网站网站提供的服务
  • 深圳做网站优化的公司wordpress 教学视频
  • 怎样策划一个营销型网站android写wordpress
  • 网站建设丿金手指花总9angularjs做网站案例
  • 做中英文网站要注意什么商城网站开发哪家好
  • 物流公司做网站广州著名网站建设公司
  • 深圳网站建设公司开发制作网站网站设计的公司蒙特
  • 影评网站建设网站建设结构框架
  • 哈尔滨网站优化流程学网络营销有用吗
  • 建网站教学html教程菜鸟教程语法
  • 网站申请支付宝支付小语种建站
  • 网店运营公司seo基础优化包括哪些内容
  • 文网文网站建设wordpress禁止保存图片
  • 东莞大朗网站建设公司找做网站
  • 连云港建设企业网站为了提高软件开发效率应采用什么
  • 八零云自助建站免费建站平台做网站打开图片慢
  • 南昌专业的学校网站建设公司品牌网站建设推荐大蝌蚪
  • 成都专业手机网站建设推广网站建设 swot分析
  • wordpress 做成app做外贸seo优化的上市公司
  • 太原制作网站企业网站制作公司排名
  • 襄阳做网站公司windows卸载wordpress
  • 网站怎么做好茶叶网站建站
  • 网站建设的运用场景wordpress做线下交易
  • 久久seo综合查询windows优化大师卸载不了
  • 仿牌网站服务器石家庄网站建设公司哪家好
  • 网站ui设计给用户提交什么中扶建设网站
  • 搭建网站的过程成都那家做网站好?