设计原则

1.1高并发设计原则

无状态

方便水平扩展。一般是应用无状态,配置文件有状态。

拆分

系统维度:根据业务逻辑拆分(比如商品,购物车,订单)
读写维度:读操作和写操作
代码模块维度:比如我们的service和dao层

服务化

SOA,大家可以很容易找到比较详细的说明

消息队列

数据异构

对于某些场景需要聚合很多表,这些表又属于不同的服务,我们可以异构一张表专门处理这个场景。
例如通过消息来将变化的数据写入异构表。

缓存

并发处理

将不相互依赖的多个动作并发处理。

1.2高可用设计原则

降级

可降级的多级读服务:例如服务降级为只读本地缓存,只读分布式缓存,只读默认的降级数据等。

业务降级

高并发的情况下,比如促销期间保障用户下单和支付优先,保证数据的最终一致性即可。可以将一些同步动作改成异步进行。

限流

防止恶意请求流量,恶意攻击,或者防止流量超过峰值。
比如恶意请求只访问到cache数据

切流量

可回滚

业务设计原则

防重复设计

幂等设计

流程可定义

推荐阅读更多精彩内容