构建可扩展的微博架构(qcon beijing 2010演讲) – 后端技术 by Tim Yang



构建可扩展的微博架构(qcon beijing 2010演讲) – 后端技术 by Tim Yang

这里再补充在qcon演讲未来得及考虑成熟的一个方面,用户规模影响设计,具体是指用户数每上一个数量级,许多设计需要重新考虑。

10万用户级别

  • 单服务器,前端、后端、cache、db在一起。

百万级

  • db和cache单独部署服务器,db或按业务进行拆分(sharding)
  • cache或使用一致性hash扩展。
  • 前端后端还是在一起,但是根据业务拆分,每个业务可分配不同数量的服务器

千万级

  • 开始重视架构设计,有专门技术架构师
  • 需跨机房部署,前端在远程增加反向代理加速,数据库在异地机房使用slave数据库副本
  • 后端拆分出来,系统内部需要远程调用,内部需远程调用协议。

亿级

  • 架构更细分,或增加数据架构师,cache架构师,分布式架构师
  • 数据库sharding碰到烦恼,开始考虑分布式数据服务
  • 数据访问需要根据业务特点细分。
  • 开发、运维、测量、调优具备有自己的专有工具。
  • 所有服务需要地理多机房分布,具备IDC容灾设计。
  • 服务可降级

Read full article from 构建可扩展的微博架构(qcon beijing 2010演讲) – 后端技术 by Tim Yang


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts