DeathWhispers

了解哪几种序列化协议?

🦅 概念 序列化(编码),是将对象序列化为二进制形式(字节数组),主要用于网络传输、数据持久化等。 反序列化(解码),则是将从网络、磁盘等读取的字节数组还原成原始对象,主要用于网络传输对象的解码,以便完成远程调用。 🦅 选型 在选择序列化协议的选择,主要考虑以下三个因素: 序列化后的字节大小。更少的字节数,可以减少网络带宽、磁盘的占用。 序列化的性能。对 CPU...

Flume 整合 Kafka

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

Flume 简介及基本使用

一、Flume简介 Apache Flume 是一个分布式,高可用的数据收集系统。它可以从不同的数据源收集数据,经过聚合后发送到存储系统中,通常用于日志数据的收集。Flume 分为 NG 和 OG (1.0 之前) 两个版本,NG 在 OG 的基础上进行了完全的重构,是目前使用最为广泛的版本。下面的介绍均以 NG 为基础。 二、Flume架构和基本概念 下图为 Flume 的基本架构图...

敏感词过滤

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

PostgreSQL 与 MySQL 的区别

面试官:谈谈 PostgreSQL 与 MySQL 的区别 都属于开放源码的一员,性能和功能都在高速地提高和增强。MySQL AB的人们和PostgreSQL的开发者们都在尽可能地把各自的数据库改得越来越好,所以对于任何商业数据库使用其中的任何一个都不能算是错误的选择。 PostgreSQL : 免费 原则: 对于一个数据库,稳定性和速度并不能代表一切。对于一个成熟的数据库,稳定性肯定...