手把手带你搭建秒杀系统
佘志东
前京东交易平台(上海)负责人、资深架构师
12374 人已学习
新⼈⾸单¥59
登录后,你可以任选2讲全文学习
课程目录
已完结/共 18 讲
前期准备:技术选型与环境准备 (2讲)
准确无误:打造不超卖和公平的秒杀系统 (2讲)
雷令风行:性能调优更上一层楼 (3讲)
手把手带你搭建秒杀系统
15
15
1.0x
00:00/00:00
登录|注册

03 | 指日可待:一步一步搭建秒杀系统(上)

你好,我是志东,欢迎和我一起从零打造秒杀系统。
在上一节课中我们搭建了本地的依赖环境,这节课我们将依据前篇中做的技术选型,继续搭建我们的开发项目,并在我们搭建好的项目上,开发一个最简的秒杀系统
这个系统模拟通过商详页,进入到结算页,可以展示商品图片、名称、价格等;其次支持输入地址、选择支付方式、修改购买数量等操作行为;然后提交订单;最后在下单成功后模拟跳转到支付页。
麻雀虽小,五脏俱全,这些基本上涵盖了秒杀的整个流程,只不过大平台的结算元素更丰富,也有更多的分支操作,但这些都可以在我们的基础上,按照专栏中介绍的一些原则,进行增减。
整个项目的搭建和秒杀业务系统的具体实现还是比较复杂的,所以我们将分成两节课来完成。这节课我们主要是搭建项目,那么话不多说,我们直接开始吧。

职能划分

根据前面我们对秒杀业务做的分析可知,要实现秒杀业务,我们最少需要 3 个系统服务:
一个是 Nginx 服务,我们命名为 demo-nginx;
再一个是 Web 服务,我们称其为 demo-web;
最后一个是 RPC 服务,我们就叫它 demo-support。
3 个项目的关系如下图所示:
3 个项目的目标职能划分这里我也详细介绍一下。
首先是 demo-nginx,主要负责:
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文详细介绍了如何搭建秒杀系统的过程,包括搭建Nginx服务、Web服务和RPC服务的步骤。作者以实际项目搭建为例,详细讲解了技术实现的细节和步骤。首先,通过创建文件夹、配置nginx.conf文件、引入文件以及配置server和location等步骤,完成了demo-nginx项目的搭建。接着,介绍了demo-web项目的搭建过程,包括SpringMVC的基础框架搭建和与demo-nginx项目的联动。最后,讲解了demo-support项目的搭建,包括新建子module、配置数据库和集成RPC框架Dubbo等步骤。整体来说,本文通过三个项目的搭建,为读者展示了如何设计和搭建一个最简的秒杀系统,同时给出了思考题引发读者思考。文章内容详实,适合想要了解如何搭建秒杀系统的读者阅读。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《手把手带你搭建秒杀系统》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(14)

  • 最新
  • 精选
  • 刘帅
    H5 在做灰度上线时,如何让新版本的页面请求始终打到新的灰度机器,而老页面的请求始终打到旧版本的服务上,两者不出现交叉呢? 答:在接口中增加版本号version字段,通过nginx+lua将新版本的接口请求路由到新的接口地址
    2021-09-29
    33
  • 李斌@28年华
    老师您好,看您的这个路线我想是 spring+dubbo 外加MySQL、Redis,还有一个JVM层面的架构设计。可否考虑用spring boot+spring cloud呢?
    2021-09-30
    6
  • BIGBANANA
    有没有windows说明呀。引入domain.com报错
    2024-01-22归属地:甘肃
  • 小马爹
    默认nginx不支持lua模块吗,需要用集成的OpenResty?
    2022-05-30
    1
  • superquanbin
    请问下你们怎么建表的,没有找到sql文件啊
    2022-03-26
    2
  • saltedfish
    include ~/Documents/seckillproject/demo-nginx/domain/domain.com; nginx 启动的时候报这行有问题: nginx: [emerg] open() "~/Documents/seckillproject/nginx/conf/~/Documents/seckillproject/demo-nginx/domain/domain.com;;" failed (2: No such file or directory) in ~/Documents/seckillproject/nginx/conf/nginx.conf:8
    2022-02-26
    2
  • 🇰 🇦 🇳 🇬
    老师,demo-nginx这个服务的功能就是nginx提供的功能吗?那为什么不直接配置nginx呢?我不太明白。流程是nginx->demo-nginx这样的还是直接demo-nginx这样啊?
    2021-11-25
  • 贤蛋蛋
    nginx与trace工具结合,对入口流量进行打标和路由
    2021-10-25
  • Aha hello xzy
    为什么每次执行前都要export,可以配置到环境吗?
    2021-10-23
    1
  • 柯察金
    Nginx -p 指定路径之后,里面的 include 指令老是直接跟在 pwd 后面,报文件找不到的错误,不知道老师的为啥可以运行。。。
    2021-10-19
收起评论
显示
设置
留言
14
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部