设计原则

1.1高并发设计原则

无状态

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

拆分

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

服务化

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

消息队列

数据异构

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

缓存

并发处理

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

1.2高可用设计原则

降级

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

业务降级

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

限流

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

切流量

可回滚

业务设计原则

防重复设计

幂等设计

流程可定义

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前端交易型系统设计原则 从毕业到现在已经快7年开发经验了,做过基础用户系统、积分商城、偷菜游戏、论坛、博客等等;也...
    meng_philip123阅读 632评论 0 11
  • 1 高并发原则 1.1 无状态 如果应用的设计是无状态的,那么应用比较容易进行水平扩展。实际生产环境是:应用无状态...
    埋没随百草阅读 534评论 0 3
  • 如果没有人点赞和喜欢,那我晚点再来问问。
    隔壁墙头的猫阅读 194评论 0 1
  • 砰的一声,男友狠狠的甩上门,离开了。随着碰击的强烈震动,门后悬挂着的瓷器长管风铃发出叮铃铃的声音。这声音听着让人格...
    闲茶淡花阅读 1,193评论 10 13
  • 看着曾经熟悉的面庞陡然间增加了几许沧桑感,注视许久后恍然明了:那是无情的岁月精心雕琢的痕迹啊! 夏...
    唯美儿阅读 300评论 2 6