中间件
horseber
飞是小李飞刀的飞,刀是小李飞刀的刀
展开
-
【kafka】消费者
consumer 需要实时记录自己消费到了哪个 offset,以便故障恢复后继续消费。所以设计消费者时,offset是必须考虑的问题public static void consumerMsg() { Properties props = new Properties(); //连接Kafka集群 props.put(ConsumerCon...原创 2019-10-15 09:43:04 · 326 阅读 · 0 评论 -
【kafka】生产者
Kafka 的 Producer发送消息采用的是异步发送的方式。在消息发送的过程中,涉及到了两个线程——main 线程和 Sender 线程,以及一个共享变量——RecordAccumulator。main 线程将消息发送给 RecordAccumulator, Sender 线程不断从 RecordAccumulator 中拉取消息发送到 Kafka broker。/** ...原创 2019-10-15 09:41:32 · 152 阅读 · 0 评论 -
【kafka】partition分区策略
方便在集群中扩展,每个 Partition 可以通过调整以适应它所在的机器,而一个 topic 又可以有多个 Partition 组成,因此整个集群就可以适应任意大小的数据了;可以提高并发,因为可以以 Partition 为单位读写了。我们需要将 producer 发送的数据封装成一个 ProducerRecord 对象。ProducerRecord(String topic, In...原创 2019-10-15 09:39:50 · 351 阅读 · 0 评论 -
【kafka】监控工具
市面上主要有JMXTool、Burrow、Confluent Control Center、kafka-eagle、kafka manager等监控工具。Kafka Eagle1、下载并解压下载地址:http://download.kafka-eagle.org/2、配置环境变量:export KE_HOME=/usr/local/eagle export PATH=$PATH...原创 2019-10-14 09:24:05 · 340 阅读 · 0 评论 -
【Kafka】相关命令
Topic1、创建 topicbin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --create --replication-factor 3 --partitions 1 --topic MyTopicName--topic 定义 topic 名--replication-factor 定义副本数--partitions 定义...原创 2019-10-14 09:24:43 · 108 阅读 · 0 评论 -
【kafka】架构
一个kafka集群由多个 broker 组成一个 broker可以容纳多个 topic(一个非常大的 topic 可以分布到多个 broker即服务器上)。Kafka 中消息是以 topic 进行分类的,topic是逻辑上的概念。一个 topic 可分为多个 partition(有序队列), partition 是物理上的概念。每个 partition 分为多个 segment。每个 ...原创 2019-10-14 09:24:32 · 146 阅读 · 0 评论 -
【kafka】安装
kafka依赖zookeeper,所以需要先启动zookeeper1、下载,并解压 下载地址:http://kafka.apache.org/downloads.htmltar -zxvf kafka_2.11-0.11.0.0.tgz -C /usr/local/kafka创建日志和数据存放目录:mkdir data2、修改配置文件进入config目录下的 编辑server....原创 2019-10-14 09:20:26 · 188 阅读 · 0 评论 -
【RoceketMQ】发布订阅
广播生产者public class BroadcastingProducer { //nameserver地址 private static String namesrvaddress="127.0.0.1:9876;"; public static void main(String[] args) throws UnsupportedEncodingExcep...原创 2019-10-08 17:29:23 · 123 阅读 · 0 评论 -
【RoceketMQ】事务消息
事务消息可以解决分布式事务实现数据最终一致。二阶段提交协议。public class TransactionListenerImpl implements TransactionListener { //存储当前线程对应的事务状态 private ConcurrentHashMap<String, Integer> localTrans = new Conc...原创 2019-10-08 17:29:11 · 321 阅读 · 0 评论 -
【RoceketMQ】顺序消息
RoceketMQ消息默认会随机发送到4个队列中,RoceketMQ只能保持各自队列的消息的有序性,所以无法保证全局消息的有序性要全局顺序只能一个队列。有序消息的生产者:public class OrderProducer { //nameserver地址 private static String namesrvaddress="127.0.0.1:9876;";...原创 2019-10-08 17:29:01 · 249 阅读 · 0 评论 -
【RoceketMQ】普通消息
RocketMQ有2种常见的消费模式,分别是DefaultMQPushConsumer和DefaultMQPullConsumer模式。两种模式其本质都是拉取消息,只是实现机制不一样。DefaultMQPushConsumer(推荐使用):consumer向broker发出请求,保持了一种长链接,broker会每5秒会检测一次是否有消息,如果有消息,则将消息推送给consumer。broker...原创 2019-10-08 17:28:32 · 170 阅读 · 0 评论 -
【RocketMQ】架构
注册中心:NameServer,保存Producer、Consumer、broker的master、slaver信息,和topic、queue信息。与broker的连接用netty的TCP连接。 Broker:消息的存储、中转中心。 Consumer:消息的消费者。 Producer:消息的生产者1、启动注册中心,等待Broker、Produer、Consumer的注册...原创 2019-10-08 17:28:21 · 66 阅读 · 0 评论 -
【RocketMQ】安装
http://jm.taobao.org/2017/01/12/rocketmq-quick-start-in-10-minutes/安装环境要求:64bit OS, Linux/Unix/Mac is recommended;64bit JDK 1.8+;Maven 3.2.x;Git;4g+ free disk for Broker server(4g+的内存)下载地址:...原创 2019-10-08 17:28:02 · 135 阅读 · 0 评论