1.尽可能地了解需求,系统层面适用开闭原则
2.模块化,低耦合,能快速响应变化,也可以避免一个子系统的问题波及整个大系统
3.面向接口,业务数据的以接口服务方式开放出来,并尽量简单,避免依赖
4.技术选型,选择能把握的成熟技术,前期充分测试,避免性能问题,多参考同类产品的架构
5.数据库设计,水平切分/垂直切分、关键点改动说明
6.无状态,方便运维快速扩容
7.可限流,可降级
8.文档的重要性
9.取舍问题,高性能,易用性,稳定性,可扩展性,可维护性,还有安全性往往不可兼得,架构决策的关键在于理解利弊和确定优先级
10.监控系统的重要性