摘要:上一篇《Kafka Consumer多线程实例续篇》修正了多线程提交位移的问题,但依然可能出现数据丢失的情况,原因在于多个线程可能拿到相同分区的数据,而消费的顺序会破坏消息本身在分区中的顺序,因而扰乱位移的提交。这次我使用KafkaConsumer的pause和resume方法来防止这种情形的发生。 阅读全文
posted @ 2020-09-15 09:51 huxihx 阅读(232) 评论(0) 推荐(3) 编辑
摘要:阅读《The Garbage Collection Handbook》第3章的Mark-Compaction垃圾回收算法时,对于Threaded Compaction总是无法理解。于是特意花了一些时间,总算是入门了,也搞懂了它的思想,写出来总结一下。如果文中有错误,还请指正。 Compaction算 阅读全文
posted @ 2020-08-20 10:52 huxihx 阅读(102) 评论(0) 推荐(1) 编辑
摘要:利用Kafka Streams中的KTable实时计算电影平均分数 阅读全文
posted @ 2020-08-04 17:27 huxihx 阅读(115) 评论(0) 推荐(0) 编辑
摘要:原文:https://dzone.com/articles/designing-a-real-time-eta-prediction-system-using 总有些奇怪的时刻,城市处于封锁状态,很少人敢于走出去冒险。此时像外卖这样的物流服务兴起就不足为怪了。 当用户下单后,大多数的此类应用都提供了 阅读全文
posted @ 2020-07-28 16:15 huxihx 阅读(98) 评论(0) 推荐(0) 编辑
摘要:当今,越来越多的数据通过API进行获取,API的安全性不再是一个事后才需要考虑的事情。关于API的麻烦之处在于它能直接访问大量数据而无需浏览器的检查。与其担忧SQL注入和XSS问题,你更应该关注能够对客户记录及其数据进行分页的那些坏家伙。 像Captchas和浏览器指纹这类的典型预防机制是没用的,因 阅读全文
posted @ 2020-07-20 15:55 huxihx 阅读(59) 评论(0) 推荐(0) 编辑
摘要:Kafka 2.6引入的新功能:消费者能够主动触发Rebalance。一直以来,Rebalance的触发都是由Coordinator来执行的,但有些场景下消费者端能够主动触发Rebalance会很有必要。举个例子,在ConsumerPartitionAssignor接口中有个subscription 阅读全文
posted @ 2020-07-10 11:04 huxihx 阅读(484) 评论(0) 推荐(0) 编辑
摘要:数据压缩是保留相同或绝大部分数据前提下减小文件大小的过程。 它的原理是消除不必要的数据或以更高效的格式重新组织数据。在进行数据压缩时,你可以选择使用有损方法或无损方法。有损方法会永久性地擦除掉一些数据,而无损方法则能保证持有全部的数据。使用哪类方法取决于你要让你的文件保持多大的精准度。 本文会为你介 阅读全文
posted @ 2020-05-30 08:52 huxihx 阅读(887) 评论(6) 推荐(0) 编辑
摘要:1. 背景 上一篇介绍了如何利用Kafka Streams实时统计某年最卖座和最不卖座的电影票房。主要的方法是通过Streams提供的aggregate方法实现了max/min算子。今天我为大家带来时间窗口函数的使用方法。在Kafka Streams中,时间窗口有三类:固定时间窗口(Tumbling 阅读全文
posted @ 2020-04-10 13:44 huxihx 阅读(280) 评论(0) 推荐(1) 编辑
摘要:1. 背景 上一篇介绍了如何利用Kafka Streams对实时消息流进行汇总求和。本篇将设定一个场景:我们引入一个Kafka topic表示电影票的销售,同时我们基于Kafka Streams编写一个程序来计算每年最卖座的电影票房以及最不卖座的电影票房。 2. 功能演示说明 假设我们要执行票房统计 阅读全文
posted @ 2020-03-30 10:50 huxihx 阅读(160) 评论(0) 推荐(0) 编辑
摘要:最近事情多有点犯懒,依然带来一篇译文:Apache Kafka Producer Improvements with the Sticky Partitioner 消息在系统中流转的时间对于Kafka的性能来说至关重要。具体到Producer而言,Producer端的延时(Latency)通常被定义 阅读全文
posted @ 2020-03-21 17:54 huxihx 阅读(480) 评论(0) 推荐(0) 编辑