如果 key 不为 null,那么默认的分区器会对 key 进⾏哈希(采⽤ MurmurHash2 算法,具备 ⾼运算性能及低碰撞率),最终根据得到的哈希值来计算分区号,拥有相同 key 的消息会被写⼊同⼀个分区。如果 key 为 null,那么消息将会以轮询的⽅式发往主题内的各个可⽤分区。
1、Cglib代理可以称为子类代理,是在内存中构建子类对象,从而扩展目标对象的功能。静态代理和JDK代理都需要一个对象来实现一个接口。有时候代理对象只是一个单独的对象,Cglib代理可以在这个时候使用。
要获取FutureTask任务的结果,我们只能通过调用getXXX()系列方法才能获取,当结果还没出来时候这些方法会被阻塞,同时这了任务可以是Callable类型(有返回结果),也可以是Runnable类型(无返回结果)。// 任务执行结果输出 System.
可以订阅多主题,可以订阅指定分区,可以暂停和重新启用某个分区消费,指定offset消费。在旧消费者客户端中,消费位移是存储在 ZooKeeper 中的。⽽在新消费者客户端中,消费位移存储在 Kafka 内部的主题_consumeroffsets 中。
1、JDK 8中引入了 CompletableFuture 类,实现了Future和CompletionStage接口.为异步编程提供了一些列方法,如supplyAsync、runAsync和thenApplyAsync等。