Monthly Readings #19: 2017 Jun

15 Jun 2017 by fleuria

Is Kanban a part of Scrum, and is it simply the task board?

What is scrum?


Monte Carlo Tree Search

What is the difference between “hill climbing” and “greedy” algorithms?

Impossible Engineering Problems Often Aren’t

Locality Sensitive Hashing By Spark

Monthly Readings #18: 2017 March

09 Apr 2017 by fleuria

Spark GraphX源码分析: 分布式图计算

Impala Concepts and Architecture

Monthly Readings #17: 2017 Jan

31 Jan 2017 by fleuria

Semi-Synchronous Replication at Facebook:

The Architecture of Schemaless, Uber Engineering’s Trip Datastore Using MySQL

Designing Schemaless, Uber Engineering’s Scalable Datastore Using MySQL

Why Uber Engineering Switched from Postgres to MySQL

Sharding Pinterest: How we scaled our MySQL fleet

MySQL Backup in Facebook

If You Must Deploy Multi-Master Replication, Read This First

Best Practices for Amazon RDS

gh-ost: Triggerless design

gh-ost: Sub-second replication lag throttling

Monthly Readings #16: December

01 Jan 2017 by fleuria

Apache Hadoop Goes Realtime at Facebook:


LVS: How virtual server works?:

Ten years of KVM:

Monthly Readings #15: November

04 Dec 2016 by fleuria

Druid: A Real-time Analytical Data Store

Error Handling in Node.js

Putting Apache Kafka To Use: A Practical Guide to Building a Stream Data Platform

Making “Push on Green” a Reality

Big Data in Real-Time at Twitter

Monthly Readings #14: October

29 Oct 2016 by fleuria

FollowFeed: LinkedIn’s Feed Made Faster and Smarter

Design Decisions For Scaling Your High Traffic Feeds

Etsy Activity Feeds Architecture

What I Wish I Had Known Before Scaling Uber to 1000 Services

Wasting Time TDDing The Wrong Things

There is not Fork: an Abstraction for Efficient, Concurrent, and Concise Data Access


Comparing Redux and Relay

Monthly Readings #13: September

05 Oct 2016 by fleuria

*Don’t Share Libraries among Microservices:


Canary All the Things

How to deploy software


Monthly Readings #12

20 Aug 2016 by fleuria

Building Timeline: Scaling up to hold your life story

Facebook News Feed: Social data at scale

ZooKeeper Resilience at Pinterest

Top 5 Docker Logging Methods to Fit Your Container Deployment Strategy

Web Service Efficiency at Instagram with Python

Kubernates: Pods

Monthly Readings #11

28 May 2016 by fleuria

thrift Field Requiredness

Open-source Service Discovery

From Python to Go, and back again


Continuous Deployment at Instagram

Why It Matters: CORS

Strategic Scala Style: Principle of Least Power

What is JBOD — And Why Should You Care?


Monthly Readings #10

29 Feb 2016 by fleuria

How we ended up with microservices

Logging v. instrumentation

Advanced Caching: Part 2 - Using Caching Strategies

Increasing Application Performance with HTTP Cache Headers

What design decisions make the GC for Go so much faster?

Monthly Readings #9

28 Jan 2016 by fleuria

过去一年尝试每月整理一次 evernote 中新建的笔记到 blog 中来,没有结构,也没有主线,更没有深入,只能算是个人去阅读一些资料的一种方式。比如,在微博上、在 hackernews 上看到一篇可能会有意思的文章,扫一眼只能留个印象,足够见识观点,但不一定清楚作者为什么抱着这样的观点;留到 pocket 里面,往往只是留下一个 “有时间再看” 的心理暗示就没有后续了。看懂一篇文章终究是一件很累的事。记录笔记,就成了一个 “我已经看到这里” 了的标记,下次再遇到类似的文章可以不用从头读起。

转眼已 2016 年,”Readings in XXX” 这样的标题就要不好使了,先换一个更容易扩展的标题。

TAO: Facebook’s Distributed Data Store for the Social Graph

Building Microservices: Testing

Feature Toggle

Readings in November and December

31 Dec 2015 by fleuria

Just Say No to More End-to-End Tests

Development and Deployment at Facebook

Data Structures for Text Sequences

Rope (data structure)

Understanding Clojure’s Persistent Vectors