kafka 原理详解
kafka 原理详解
|
kafka 简析前言对于一家网络公司来说,可能有大量的数据产生,例如用户登录、浏览、点击等等事件,或者系统内部的服务调用、错误信息、服务器负载等等日志信息。这些数据可以用于搜索相关、推荐系统、广告相关等等,然而这些数据很多时候是和应用耦合在一起的。同时这些额外的日志数据,可能数据量比本身应用的数据还
Hive 快速入门
Hive 快速入门
|
简介Hive 是基于 Hadoop 的一个数仓工具,基于存储在 HDFS 上的结构化的数据文件提供类似 SQL 的查询功能,本质上是将 SQL 转化为 MapReduce/Spark 任务执行,从而提取到需要的数据。提出 Hive 的主要原因是:手动编写分布式的查询任务门槛较高,实现复杂,导致基于大
HDFS 简析
HDFS 简析
|
简介HDFS 全称 Hadoop Distributed File System,是用于 Hadoop 生态的底层分布式文件系统,其设计和 GFS 类似,但是做了一定的简化。HDFS 只允许写入一次,也就是写入必须是串行的,而 GFS 允许并行写入,同样也带来了更复杂的并行设计。简化的 HDFS 仍
YARN 简析
YARN 简析
|
概述MapReduce 中,存在有以下几个缺陷:拓展性差,JobTracker 同时具备资源管理和作业控制两个功能,导致其称为严重的单点性能瓶颈,无法拓展更大的集群可靠性差:Master/Slave 结构存在单点故障,如果 Master 宕机则会导致整个集群不可用资源利用率低:MapReduce 是
BigTable 简析
BigTable 简析
|
概述BigTable 一定程度上是 NoSQL 的前身,也就是键值型数据库,存储的数据本质上就是键值对,所以 BigTable 顾名思义,就可以理解成一个支持分布式和巨量数据的 Map。在 BigTable 中键为行键(Row Key)、值为列族(Column Family)中的列元素,时间戳(Ti
LSM-Tree
LSM-Tree
|
什么是 LST-TreeLSM-Tree 全称 Log-Structured Merge Tree,该树用于优化写入密集型的操作,解决了传统的 B 树或 B+ 树进行频繁写入时产生的性能问题。其充分利用了磁盘顺序写的速度远高于随机写的速度,并通过内存 + 磁盘的多层合并,提高了大规模数据的写入性能。
7daysgolang-GeeRPC 简析
7daysgolang-GeeRPC 简析
|
前言本文是记录在学习 GeeRPC 项目中的一些要点和概念,在代码部分只会给出最核心的代码,而一些外围代码,例如错误处理、一些并发细节、一些接口定义等都会被忽略。适合从一个宏观层面来理解 GeeRPC,因为 GeeRPC 原文实际上是从细节出发,难以从一个宏观视角理解,容易在「森林」中迷路。完整的源
HTTP 各版本简述(1.1/2/3)
HTTP 各版本简述(1.1/2/3)
|
HTTP 1.0HTTP 1.0 实际上作为最原始的版本,并没有使用多久就被 HTTP 1.1 代替了,后续实际上普遍认为 HTTP 1.1 是第一个广泛使用的 HTTP 版本。原始的 HTTP 由于没有长连接,也就是每个 HTTP 请求都是单独的 TCP 连接,这就会导致在请求多个小文件时延迟较高
HTTP 如何加密?
HTTP 如何加密?
|
为什么需要加密简单来说,HTTP 协议的内容是通过明文传递的,任何中间人都可以看到完整的信息,由此就导致了两种攻击:被动窃听攻击,报文的信息可以被抓包获取,从而泄露信息;主动攻击:中间者可以修改 HTTP 协议的内容,从而给客户端或服务端发送伪造的信息。所以需要一个机制来对 HTTP 的内容进行加密
Makefile 光速入门
Makefile 光速入门
|
Makefile 光速入门什么是 MakefileMakefile 简单来说就是构建某个文件需要的步骤,比如我们要编译一个 C 语言的程序,单个文件时我们可以简单输入一行 gcc 的编译命令:$ gcc main.c -o main就可以完成一个编译单文件的操作,但是如果项目比较复杂,涉及到多文件的