Instagram Engineering’s 3 rules to a scalable cloud application architecture
这篇文章不是Instagram工程团队写的,是C*团队写的,但是里面的3 rules的确值得学习。这3条规则其实很简单,但是简单的东西总是容易被人忽视和遗忘。
This decision process wasn’t standalone to their application, but Mike, their tech lead, diffused those same principles into their engineering culture. Doing so, Instagram managed to create a scalable cloud application architecture with little prior experience, amidst hyper growth by keeping true to these 3 rules.(这个决策过程并不只是针对这个应用的,Mike将这些原则融入到了他们的工程文化当中。不断地践行这3条规则,此Instagram才可以在几乎没有什么经验的情况下创建可扩展的云应用架构,同时保持快速的用户增长)
- Go with proven and solid technologies when you can.
- Take a look at these companies and you will notice a reoccurring theme — a shift from the old school, monolithic architecture of yesteryear to what some of us would consider today’s modern stack.
- polyglot persistance.(多种持久化系统,选用合适的系统来存储某类数据)
- Take a look at Instagram’s architecture and you’ll see examples of this throughout. At the database layer you’ll see a combination of NoSQL, in-memory, and relational databases; taking advantage of each tech’s strength per use case.
- Don’t re-invent the wheel.
- Keep it very simple.
- Upon doing so, the team huddled together and stuck to their 3 commandments. Doing things like opting to move their activity feed to Apache Cassandra for it’s proven linear scale and simple masterless architecture. 多向前者学习经验