##一、消费者消费原理 在实际生产过程中,每个topic都会对对应多个partitions,好处如下: 能够对 broker 上的数据进行分片有效减少了消息的容量从而提升 io 性能 为了提高消费端的消费能力,一般会通过多个consumer 去消费同一个 topic #####Q1. 在开启多个co ...
分类:
其他好文 时间:
2020-06-26 18:44:03
阅读次数:
62
RPC框架称为远程调用框架,其实现的核心原理就是消费者端使用动态代理来代理一个接口的方法(基于JDK的动态代理,当然如果使用CGLib可以直接使用无接口类的方法),通过加入网络传输编程,传输调用接口方法名称,方法参数来给提供者获取,再通过反射,来执行该接口的方法,再将反射执行的结果通过网络编程传回消 ...
分类:
其他好文 时间:
2020-06-26 18:38:27
阅读次数:
64
JDK 8 提供的重要函数式接口: Consumer (消费者) 功能:接收一个对象,返回void。 定义:void accept(T t) 默认方法:Consumer andThen(Consumer after) Supplier (提供者) 功能:不接收参数,返回一个对象。 定义:T get( ...
分类:
其他好文 时间:
2020-06-26 01:09:14
阅读次数:
70
什么是分区再分配: 如果该topic的分区大于1,那么生产者生产的数据存放到哪个分区,完全取决于key值,比如key=A,那么存到分区0,key=B,那么存到分区1,如果key为null,那么负载均衡存储到每个分区! 分区再分配监听器代码: end. ...
分类:
编程语言 时间:
2020-06-25 21:15:18
阅读次数:
65
Java 多线程基础(十二)生产者与消费者 一、生产者与消费者模型 生产者与消费者问题是个非常典型的多线程问题,涉及到的对象包括“生产者”、“消费者”、“仓库”和“产品”。他们之间的关系如下: ①、生产者仅仅在仓储未满时候生产,仓满则停止生产。②、消费者仅仅在仓储有产品时候才能消费,仓空则等待。③、 ...
分类:
编程语言 时间:
2020-06-25 16:03:33
阅读次数:
69
1)引入maven依赖 我这里使用的是springboot 2.1.3.RELEASE 版本: <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> </depe ...
分类:
其他好文 时间:
2020-06-25 12:20:32
阅读次数:
155
消息队列 为什么用? 解耦,削峰,异步 基本模型 生产者 -> MQ -> 消费者 Kafka 十万级/s 适用于大数据领域实时计算,日志采集, ActiveMQ 万/s , RabbitMQ 万/s , RocketMQ 十万/s 造成问题及解决 1.系统可用性降低 (MQ发生故障,全崩了) 2. ...
分类:
其他好文 时间:
2020-06-24 19:24:18
阅读次数:
68
import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.concurrent.ThreadLocalRandom; import java.util.concurr ...
分类:
编程语言 时间:
2020-06-24 00:45:51
阅读次数:
75
Kafka-文件管理 文件管理 保留数据是kafka的一个基本特性,kafaka不会一直保留数据,也不会等到所有消费者都读取了消息之后才删除消息。相反,kafka为每个主题配置了数据保留期限,规定数据被删除之前可以保留多长时间,或者清理数据之前可以保留的数据量大小。 因为在一个大文件里查找和删除消息 ...
分类:
其他好文 时间:
2020-06-24 00:44:34
阅读次数:
76
Java线程池Executor框架可以视为一个生产者消费者模型,但是如何正确保持生产者和消费者平衡,也就是向线程池投递任务的速度和线程池处理任务能达到一个平衡关系,被投递的任务能够及时的被处理,不会因为超过线程池负载出现任务丢失甚至导致程序崩溃。由于Executor框架默认提供了空闲线程回收机制,所 ...
分类:
编程语言 时间:
2020-06-24 00:20:55
阅读次数:
90