DeathWhispers

Flume 整合 Kafka

一、背景 先说一下,为什么要使用 Flume + Kafka? 以实时流处理项目为例,由于采集的数据量可能存在峰值和峰谷,假设是一个电商项目,那么峰值通常出现在秒杀时,这时如果直接将 Flume 聚合后的数据输入到 Storm 等分布式计算框架中,可能就会超过集群的处理能力,这时采用 Kafka 就可以起到削峰的作用。Kafka 天生为大数据场景而设计,具有高吞吐的特性,能很好地抗住峰值...

敏感词过滤

系统需要对用户输入的文本进行敏感词过滤如色情、政治、暴力相关的词汇。 敏感词过滤用的使用比较多的 Trie 树算法 和 DFA 算法。 算法实现 Trie 树 Trie 树 也称为字典树、单词查找树,哈系树的一种变种,通常被用于字符串匹配,用来解决在一组字符串集合中快速查找某个字符串的问题。像浏览器搜索的关键词提示一般就是基于 Trie 树来做的。 假如我们的敏感词库中有以下敏...

25 张图,一万字,拆解 Linux 网络包发送过程

25 张图,一万字,拆解 Linux 网络包发送过程 原创张彦飞allen开发内功修炼2021-05-12 08:28 收录于话题#开发内功修炼之网络篇30个 大家好,我是飞哥! 半年前我以源码的方式描述了网络包的接收过程。之后不断有粉丝提醒我还没聊发送过程呢。好,安排! 在开始今天的文章之前,我先来请大家思考几个小问题。 问1:我们在查看内核发送数据消耗的 CPU 时,是...

SocketIO通信

SocketIO通信 传统BIO编程 网络编程的基本模型是C/S模型,也就是两个进程直接进行相互通信,其中服务端提供配置信息(绑定的IP地址和监听端口), 客户端通过连接操作向服务端监听的地址发起连接请求,通过三次握手建立连接,如果连接成功,则双方即可以进行通信 服务器端在accpet()处阻塞,每有一个新的客户端接入时,就会new 一个 线程 三次握手和四次挥手:http://b...