系统架构原则

1. 避免过度设计

2. 方案中包括扩展

3. 三次简化方案

4. 减少域名解析

5. 减少页面目标

6. 采用同构网络

7. 水平拓展/负载均衡

8. 服务/资源拓展

9. 地理分布拓展

10. 分散事务负载

11. 用商品化的小系统

12. 托管方案扩展

13. 利用云

14. 适当使用数据库

15. 谨慎使用防火墙

16. 积极使用日志文件

17. 避免画蛇添足

18. 停止重定向

19. 放宽时间约束

20. 利用CDN缓存

21. 灵活管理缓存

22. 利用Ajax缓存

23. 利用页面缓存

24. 利用应用缓存

25. 利用对象缓存

26. 独立对象缓存

27. 不靠QA发现错误

28. 具备回滚能力

29. 从事务处理中清除商务智能

30. 注意昂贵的关系

31. 正确使用数据库锁

32. 禁用分阶段提交

33. 慎用SELECT FOR UPDATE

34. 避免选择所有列

35. 设计中实现故障隔离区或泳道

36. 拒绝单点故障

37. 避免系统串联

38. 启用与禁用产品功能

39. 设计和实施无状态系统

40. 使用Cookie保存会话数据

41. 用分布式缓存处理状态

42. 尽可能异步通信

43. 扩展消息总线

44. 避免总线过度拥挤

45. 警惕第三方方案

46. 梯级存储策略

47. 分类处理不同负载

48. 完善监控保持竞争力