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

青海西宁网页网站制作企业网页设计尺寸

青海西宁网页网站制作,企业网页设计尺寸,wordpress国外付费主题下载,网站建设开场白怎么说这里写目录标题1.Kafka1.1 Kafka概述1.2 kafka安装和配置1.3 入门案例1.4 kafka生产者详解1.4.1 生产者的参数1.Kafka 1.1 Kafka概述 Kafka 是一个分布式流媒体平台,类似于消息队列或企业消息传递系统。 producer:发布消息的对象称之为主题生产者(Ka…

这里写目录标题

  • 1.Kafka
    • 1.1 Kafka概述
    • 1.2 kafka安装和配置
    • 1.3 入门案例
    • 1.4 kafka生产者详解
      • 1.4.1 生产者的参数

1.Kafka

1.1 Kafka概述

Kafka 是一个分布式流媒体平台,类似于消息队列或企业消息传递系统。
请添加图片描述

  • producer:发布消息的对象称之为主题生产者(Kafka topic producer)
  • topic:Kafka将消息分门别类,每一类的消息称之为一个主题(Topic)
  • consumer:订阅消息并处理发布的消息的对象称之为主题消费者(consumers)
  • broker:已发布的消息保存在一组服务器中,称之为Kafka集群。集群中的每一个服务器都是一个代理(Broker)。 消费者可以订阅一个或多个主题(topic),并从Broker拉数据,从而消费这些已发布的消息。

1.2 kafka安装和配置

Kafka对于zookeeper是强依赖,保存kafka相关的节点数据,所以安装Kafka之前必须先安装zookeeper

一、Docker安装zookeeper
下载镜像:

docker pull zookeeper:3.4.14

创建容器

docker run -d --name zookeeper -p 2181:2181 zookeeper:3.4.14

一、Docker安装kafka
下载镜像:

docker pull wurstmeister/kafka:2.12-2.3.1

创建容器, 此处需要改为自己虚拟机的ip地址

docker run -d --name kafka \
--env KAFKA_ADVERTISED_HOST_NAME=192.168.200.130 \
--env KAFKA_ZOOKEEPER_CONNECT=192.168.200.130:2181 \
--env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.200.130:9092 \
--env KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
--env KAFKA_HEAP_OPTS="-Xmx256M -Xms256M" \
--net=host wurstmeister/kafka:2.12-2.3.1

1.3 入门案例

实现一个简单的生产 > 消费过程
请添加图片描述
一、引入依赖

<dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId>
</dependency>

二、生产者发送消息

  1. 连接kafka
  2. 创建生产者对象
  3. 发送信息
  4. 关闭消息通道(必须关闭, 否则消息发送不成功)
package com.heima.kafka.sample;import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.clients.producer.ProducerRecord;import java.util.Properties;/*** 生产者*/
public class ProducerQuickStart {public static void main(String[] args) {//1.kafka的配置信息Properties properties = new Properties();//kafka的连接地址properties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,"192.168.200.130:9092");//发送失败,失败的重试次数properties.put(ProducerConfig.RETRIES_CONFIG,5);//消息key的序列化器properties.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,"org.apache.kafka.common.serialization.StringSerializer");//消息value的序列化器properties.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,"org.apache.kafka.common.serialization.StringSerializer");//2.生产者对象KafkaProducer<String,String> producer = new KafkaProducer<String, String>(properties);//封装发送的消息ProducerRecord<String,String> record = new ProducerRecord<String, String>("itheima-topic","100001","hello kafka");//3.发送消息producer.send(record);//4.关闭消息通道,必须关闭,否则消息发送不成功producer.close();}}

三、消费者接收消息

package com.heima.kafka.sample;import org.apache.kafka.clients.consumer.ConsumerConfig;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.apache.kafka.clients.consumer.KafkaConsumer;import java.time.Duration;
import java.util.Collections;
import java.util.Properties;/*** 消费者*/
public class ConsumerQuickStart {public static void main(String[] args) {//1.添加kafka的配置信息Properties properties = new Properties();//kafka的连接地址properties.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "192.168.200.130:9092");//消费者组properties.put(ConsumerConfig.GROUP_ID_CONFIG, "group2");//消息的反序列化器properties.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringDeserializer");properties.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringDeserializer");//2.消费者对象KafkaConsumer<String, String> consumer = new KafkaConsumer<String, String>(properties);//3.订阅主题consumer.subscribe(Collections.singletonList("itheima-topic"));//当前线程一直处于监听状态while (true) {//4.获取消息ConsumerRecords<String, String> consumerRecords = consumer.poll(Duration.ofMillis(1000));for (ConsumerRecord<String, String> consumerRecord : consumerRecords) {System.out.println(consumerRecord.key());System.out.println(consumerRecord.value());}}}}

总结

  • 生产者发送消息,多个消费者订阅同一个主题,只能有一个消费者收到消息(一对一)
  • 生产者发送消息,多个消费者订阅同一个主题,所有消费者都能收到消息(一对多)

1.4 kafka生产者详解

一、同步发送
  使用send()方法发送,它会返回一个Future对象,调用get()方法进行等待,就可以知道消息是否发送成功

RecordMetadata recordMetadata = producer.send(kvProducerRecord).get();
System.out.println(recordMetadata.offset());

二、异步发送
调用send()方法,并指定一个回调函数,服务器在返回响应时调用函数

//异步消息发送
producer.send(kvProducerRecord, new Callback() {@Overridepublic void onCompletion(RecordMetadata recordMetadata, Exception e) {if(e != null){System.out.println("记录异常信息到日志表中");}System.out.println(recordMetadata.offset());}
});

1.4.1 生产者的参数

一、ack
请添加图片描述
代码的配置方式:

//ack配置  消息确认机制
prop.put(ProducerConfig.ACKS_CONFIG,"all");

在这里插入图片描述


二、retries

http://www.yayakq.cn/news/468393/

相关文章:

  • 敦煌做网站的公司电话一个企业做网站的目的
  • cmd iis网站icon图标素材下载网站
  • 基于网站开发appgoogle广告在wordpress
  • 海南建设厅网站微信推广网站怎么做
  • 赛车网站开发吴忠市建设局网站
  • 西宁做网站公司长沙网站开发方案
  • 西安网站建设品牌公司推荐东莞网站优化推荐
  • 怎么学网站建设中建一局招聘网
  • 静态网站开发百科微信下载安装免费2022
  • 网站规划书包含哪些内容网站虚拟交易技术怎么做
  • 网站备案域名所有人五金喷漆东莞网站建设
  • 大连哪里做网站好北京企业网站建设哪家好
  • 宁波公司网站开发青浦郑州阳网站建设
  • 网站建设 英语翻译在线设计自己的签名免费
  • 本溪市网站建设网站开发工作描述
  • 怎么用ppt做网站设计网站设计论文选题
  • 咸宁公司网站建设专门做恐怖片的网站
  • 外贸网站建设szjijie搜索引擎关键词竞价排名
  • 鞍山企业网站建设网页升级紧急通知91
  • 建设网站的价格表wordpress腾讯云插件
  • 某企业电子商务网站建设北京设计公司官网
  • 广州旅游团购网站建设杭州做代发的网站有哪些
  • 网站基本参数设置模块erp系统登录入口
  • 网站查询ip解析怎样制作一个app软件
  • 哈尔滨网站备案手续费湛江seo代理商
  • vps搭建网站是什么意思养老做增减的网站
  • 给微商做网站国外优秀论文网站
  • wap手机网站制作_x wordpress
  • 如何自己弄网站涨口碑说做的网站
  • 长春 网站 设计各大网络平台的推广内容和方法