Kafka实践
1. kafka发送方法
- @Component
@Import(KafkaAutoProperties.class)
public class KafkaProducer {- @Autowired
private KafkaConfigProperties kafkaConfigProperties;- public void send(String topic, String msg) {
//1、准备配置文件
Properties props = new Properties();
props.put("bootstrap.servers", kafkaConfigProperties.getBootstrapServers());
props.put("acks", kafkaConfigProperties.getAcks());
props.put("retries", kafkaConfigProperties.getRetries());
props.put("batch.size", kafkaConfigProperties.getBatchSize());
props.put("linger.ms", kafkaConfigProperties.getLingerMs());
props.put("buffer.memory", kafkaConfigProperties.getBufferMemory());
props.put("key.serializer", kafkaConfigProperties.getKeySerializer());
props.put("value.serializer", kafkaConfigProperties.getValueSerializer());
//2、创建KafkaProducer
// org.apache.kafka.clients.producer.KafkaProducer<String, String> kafkaProducer = new org.apache.kafka.clients.producer.KafkaProducer<String, String>(props);
//3、发送数据
// kafkaProducer.send(new ProducerRecord<String, String>(topic, msg));- IEventHandle kafkaHandle = new KafkaEventHandle(props, topic);
kafkaHandle.process(msg);
}
}
2.消息发送接口
- public interface MessageService {
- public void sendWhenShipUpdate(String value);
}
3.消息发送实现类
- @Service
public class MessageServiceImpl implements MessageService {
@Autowired
private KafkaProducer kafkaProducer;- @Override
public void sendWhenShipUpdate(String value) {
if(org.apache.commons.lang3.StringUtils.isBlank(value)){
throw new ApiException("船信息不能为空");
}
JSONObject message = new JSONObject();
message.put("dataType", "shipInfoUpdate");
JSONObject data = new JSONObject();
data.put("value", value);
message.put("data", data);
kafkaProducer.send("TransportDataUpdate", StringUtils.replaceBack(message.toJSONString().replace("\\","")));- }
}
4.代码中发送消息
- messageService.sendWhenShipUpdate(s);
Kafka实践的更多相关文章
- php下kafka实践
Kafka是一种高吞吐的分布式发布订阅消息系统 kafka安装和简单测试 安装kafka 下载 wget https://www-us.apache.org/dist/kafka/2.1.1/kafk ...
- Kafka实践1--Producer
一.Kafka设计原理参考: http://blog.csdn.net/suifeng3051/article/details/48053965?locationNum=2 http://www.cn ...
- Kafka实践、升级和新版本(0.10)特性预研
本文来自于网易云社区 一.消息总线MQ和Kafka (挡在请求的第一线) 1. 几个应用场景 case a:上游系统往下游系统推送消息,而不关心处理结果: case b:一份新数据生成,需要实时保存到 ...
- Kafka 实践
问题描述 配置 Kafka-client 2.x, Spring-Kafka 默认配置 Kafka 三个partition, 使用KafkaListener按group消费. 现象 某天突然发现两个p ...
- python操作kafka实践
1.先看最简单的场景,生产者生产消息,消费者接收消息,下面是生产者的简单代码. ------------------------------------------------------------ ...
- Kafka入门 --安装和简单实用
一.安装Zookeeper 参考: Zookeeper的下载.安装和启动 Zookeeper 集群搭建--单机伪分布式集群 二.下载Kafka 进入http://kafka.apache.org/do ...
- 02_Kafka单节点实践
1.实践场景 开始前的准备条件: 1) 确认各个节点的jdk版本,将jdk升级到和kafka配套的版本(解压既完成安装,修改/etc/profile下的JAVA_HOME,source /etc/pr ...
- kafka消费者
from kafka import KafkaConsumer,TopicPartition import json scrapy_kafka_hosts = ["ip:端口", ...
- 【AI】微软人工智能学习笔记(一)
数据分析平台 01|数据平台概况图示 上面图中所示就是微软人工智能数据平台的相关的技术. 02.1| Cortana Intelligence Suite 从上面图中可以看到, 其中有一个Cortan ...
随机推荐
- java多线程wait()方法必须放在while循环里面的原因探析
1.写一个包子生产消费案例:一次生产或消费一个包子,有包子就消费,没有就生产.(部分代码参考传智播客刘意2015Java基础视频讲义) 1.1 写一个Baozi.class,包含main()方法,用来 ...
- leetcode-algorithms-10 Regular Expression Matching
leetcode-algorithms-10 Regular Expression Matching Given an input string (s) and a pattern (p), impl ...
- python 日期操作【转】
SQLite中的时间日期函数这是我学习SQLite时做的笔记,参考并翻译了Chris Newman写的<SQLite>中的<Working with Dates and Times& ...
- WDA基础十四:ALV字段属性配置表
ALV配置表管理 一.字段属性配置表 对于可编辑的ALV不用这个,尽可能多的设置一些控制: 单元格类型:默认A,特殊选择 ZLYE_TYPE E A 1 ...
- 如何使a标签打开新页面并阻止刷新当前页面
错误: HTML中,使用href属性时,当前页面和新页面均跳转到URL指定的页面,即当前页面也刷新: <li id='goToBack'><a href='**.action' ta ...
- Lunx下 怎样启动和关闭oracle数据库
1.因为oracle运行在Linux系统下,首先,要连接Linux系统 2.切换到oracle安装用户下. 我的是 ora12. 3.运行oracle的环境变量, 以便输入相关命令. 4.进入orac ...
- Qt Widgets——抽象按钮及其继承类
QAbstractButton是有关“按钮”的基类 描述了一个按钮应该具有的组成.它的公有函数如下: QAbstractButton(QWidget * parent = ) ~QAbstractBu ...
- python3 get/post/使用代理/自定义header/自定义Cookie
说明:urllib发送http请求并不是很人性化,更推荐使用在urllib基础上封装的.python2和python3都兼容的requests模块,移步查看. 一.get请求 get请求就是在构造Re ...
- jcmd
1.jps 2.jcmd 1761[pid] PerfCounter.print 查看指定进程的性能统计信息 概述 在JDK1.7以后,新增了一个命令行工具 jcmd.他是一个多功能的工具,可以用它来 ...
- Linux int 最大为多大
可以查看 /usr/include/limits.h 文件 里面定义好了各种类型的最大最小值 ... /* Minimum and maximum values a `signed int' can ...