作者Jay Kreps是前LinkedIn的Principle Staff Engineer,现Confluent CEO,在大数据处理领域深耕多年。我感觉这本书还是很好的,虽然只有40多页,但是我觉得内容挺多的,没凑字数的废话。

整理下我个人的takeaway:

对日志的认知

"log"这个词吃了命名的亏,以为人们习惯把代码里调错的各种print当成log,所以没把它当回事。但事实上log的核心是数据,不应该是给人看的,而是给机器读的。log记录的是什么时候发生了什么——而这恰恰就是分布式系统最核心要处理的内容。

log在分布式系统中可以用于两种场景:

  1. 一种是state-machine replica,就是类似于pub/sub,写入一个顺序
  2. 另一种是primary backup,利用log做状态备份

日志服务应该作为一个独立的服务,并以此可以成为以下系统的基础:

  1. 数据整合,比如支持各种各样团队不同需求的数据可视化
  2. 实时数据处理,比如批处理、流处理
  3. 分布式系统的整体设计,这本书里介绍了如何利用log去对分布式系统架构进行解耦

基于日志服务的系统建设

对日志的需求遵循以下“Maslov需求金字塔”的顺序,上层建筑依赖于下层基础:

  1. 最底层 Acquisition / Collection:数据采集相关,大部分公司在这层就不行了
  2. 再上层是 Semantics:统一格式才能有统一处理
  3. 再上层是 Understanding:如何理解或者帮助人们更好的理解数据,比如一系列的数据分析和可视化。
  4. 最上层是 Automation: 终极需求是基于数据做自动决策,不需要人的干预

数据整合

如何使用一套数据服务现代公司形形色色各种team的各种各样的需求?- 使用log结合pub/sub的模式,不同team可以订阅自己关注的事件。这样也能实现互相之间的独立。

批量处理

为了兼顾实时性和数据的完整性,很多人是如下使用一套批处理一套流处理的方式处理数据(http://bit.ly/beat-cap):

但是这样维护成本很大,其实可以都使用流的处理方式,如下图所示,新的一批处理好把请求导向新的,把旧的删除就好了(即部署数据如同部署服务一样?):

读书笔记 - I heart logs相关推荐

  1. 《ASP.NET Core 与 RESTful API 开发实战》-- (第10章)-- 读书笔记

    第 10 章 部署 10.1 部署到 IIS ASP.NET Core 应用程序支持部署到 IIS 中,之后它将作为应用程序的反向代理服务器和负载均衡器,向应用程序中转传入的 HTTP 请求 默认情况 ...

  2. 《 Docker 技术入门与实战 》读书笔记 ( CentOS 安装 Docker )

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. PS :个人所有读书笔记只记录个人想要的内容,很可能原书大量内容没有纳入笔记中... ... 以下全 ...

  3. 《 第一本Docker书 》读书笔记 --- Docker 各项操作命令及参数说明(docker run 命令各个参数说明)

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. PS :个人所有读书笔记只记录个人想要的内容,很可能原书大量内容没有纳入笔记中... ... 1. ...

  4. mysql数据应用从入门_MYSQL数据库应用从入门到精通----读书笔记

    mysql 1.创建数据库 create database database_name; 2.查看数据库 show database_name; 3.选择数据库 use database_name; ...

  5. 《深入理解Android2》读书笔记(五)

    接上篇<深入理解Android2>读书笔记(四) startActivity Am void run() throws RemoteException {try {printMessage ...

  6. 《Hadoop 权威指南》读书笔记之七 — chapter7

    <Hadoop 权威指南>读书笔记之七 - chapter7[updating-] The whole process of MapReduce at the highes level,t ...

  7. Oracle 19c VLDB and Partitioning Guide 第8章:Using Parallel Execution 读书笔记

    本文为Oracle 19c VLDB and Partitioning Guide第8章Using Parallel Execution的读书笔记. 并行执行是通过使用多个进程将多个 CPU 和 I/ ...

  8. In-memory Computing with SAP HANA读书笔记 - 第七章:Business continuity and resiliency for SAP HANA

    本文为In-memory Computing with SAP HANA on Lenovo X6 Systems第七章Business continuity and resiliency for S ...

  9. Testing Process - 读书笔记

    看到 Wikipedia 上面有一篇对于软件测试的综述,挺有总结性,做下读书笔记. Wikipedia 的这篇文章,可以通过下面的 URL 访问: http://en.wikipedia.org/wi ...

最新文章

  1. Hibernate一对多单向关联和双向关联映射方法及其优缺点
  2. JS数据类型及函数的预编译
  3. 二层交换机的MAC表学习过程
  4. MyBatis常用配置解析-mapper标签
  5. win7下创建逻辑分区
  6. koa --- 跨域,解析POST参数、路由配置
  7. 动态规划:树形DP-景点中心(树的带权重心)
  8. PHP编译configure时常见错误(转)
  9. 多重响应交叉表点不动确定_风靡全球的尼克巨星登陆杭城!还有19.9元美食、多重惊喜好礼……嗨翻12月!...
  10. cipher java aes 模式_java – 为什么我的AES Cipher在init的DECRYPT_MODE上抛出一个InvalidKeyException...
  11. 如何让Jython自动加载一个Jar包
  12. java判断路径是否存在_科学网—Java判断文件目录以及文件是否存在 - 林清莹的博文...
  13. PHP GZ压缩与解压
  14. 安装和客户端证书颁发---puppet系列
  15. Weblogic 下载
  16. 早起的奇迹,梦醒后成为梦想的自己!
  17. 阿里云Centos6数据盘扩容的问题处理
  18. faster rcnn:towards real-time object detection with region proposal network
  19. 如何申请微信公众平台帐号
  20. 学习笔记-Power-Linux

热门文章

  1. MT6260与MT6261mt6261设计资料汇总
  2. 文件服务器杀毒软件推荐,服务器杀毒软件哪个好 服务器装什么杀毒软件【详解】...
  3. 浙江一盗窃案犯罪嫌疑人陪朋友去警局“打酱油”被抓
  4. 二进制,八进制,十进制,十六进制转换算法
  5. MySQL mysql性能调优
  6. 运动想象| EEG信号、共空间模式算法(CSP)
  7. 换内存条的过程(自己电脑换的整个过程记录分享)
  8. PPT学习资源和实用技巧
  9. return R.ok()
  10. 最新小米易支付系统源码