基于.Net Core技术栈高并发秒杀的处理方案

一. 业务背景

计划:

 先把单体架构优化到极致,然后向微服务架构转变,并分析当中遇到的各种问题。

用到的技术栈和工具

    服务器:centos8

    数据库:MySQL 5.7  ----集群

    基础框架:Asp.Net Core +EF Core + Dapper

    日志框架:待定

    缓存框架:redis 5.0 ----集群

    消息队列:RabbitMQ

    负载均衡:Nginx

    消息总线框架:CAP

    分布式事务:待定

    配置中心:待定

    测试工具:Jmeter

    其它微服务组件:Consul + IDS4 + Polly

    静态资源处理:CDN + 静态页面

    前端:uni-app (基于Vue)

   最终部署:K8S 

   其它语法:Lua

 涉及到的一些问题的解决方案:

  Redis 雪崩、击穿、穿透的解决:

  分布式ID的解决:

  恶意请求的解决:

  重复消费的解决:

  如何防黄牛:

  

二. 单体架构→SOA

 机构图和微服务架构一块补充

三. 微服务架构

 计划中。。。。。

四. 系列章节

阶段一:单体架构系列

       第一节:基本概念、业务分析、单体架构的搭建

       第二节:抢单流程优化1(小白写法→lock写法→服务器缓存+队列→redis缓存+队列)-未完

       第三节:抢单流程优化2(单品限流→购买数量限制→方法幂等)

       第四节:抢单流程优化3(lua整合限流、购买限制、方法幂等、扣减库存)

       第五节:拉模式的消费者优化(数量块和时间块)

       第六节:基于Cap框架引入事件总线机制(RabbitMQ+SQLServer) 和 下单成功后的方案剖析

       第七节:Nginx限流和负载均衡、页面cdn、IIS部署优化、后续计划

       第八节:xxxxxxxxxxxxxxxxx

       第九节:xxxxxxxxxxxxxxxxx

阶段二:微服务架构系列

       第一节:xxxxxxxxxxxxxxxxx

       第二节:xxxxxxxxxxxxxxxxx

       第三节:xxxxxxxxxxxxxxxxx

       第四节:xxxxxxxxxxxxxxxxx

       第五节:xxxxxxxxxxxxxxxxx

       第六节:xxxxxxxxxxxxxxxxx

       第七节:xxxxxxxxxxxxxxxxx

       第八节:xxxxxxxxxxxxxxxxx

       第九节:xxxxxxxxxxxxxxxxx

       第十节:xxxxxxxxxxxxxxxxx

       第十一节:xxxxxxxxxxxxxxxxx

       第十二节:xxxxxxxxxxxxxxxxx

 

!

  • 作       者 : Yaopengfei(姚鹏飞)
  • 博客地址 : http://www.cnblogs.com/yaopengfei/
  • 声     明1 : 如有错误,欢迎讨论,请勿谩骂^_^。
  • 声     明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。
 
原文地址:https://www.cnblogs.com/yaopengfei/p/13749772.html