Nodejs开发的韩国演唱会门票秒杀抢购系统抢票软件

国内的抢购抢票系统,这是不能碰的了,因为国家明令禁止,一不小心就违法了,那么去国外的平台抢个票这是没问题的。

追韩星,所以门票等价格也是水涨船高,有利的地方就有人做。于是乎,一套针对韩国的演唱会门票网站的自动购票系统(韩国演唱会门票抢票系统)就在我头脑中诞生了。

系统用户:

只是为单用户使用,也就是说只为这一个黄牛来使用的。那么相对于多用户系统在设计思路、系统架构方面就简单很多了。

系统语言:

NodeJS,支持异步非阻塞,nodejs是单线程,但是多开子进程可以解决高并发压力问题(所以压力是要花多少银子购买什么配置的服务器了),NodeJS就像是一个调度员,因为它有牛逼的后盾V8引擎(c/c++)处理底层。

1、Nodejs与操作系统交互,我们在 Javascript中调用的方法,最终都会通过 process.binding 传递到 C/C++ 层面,最终由他们来执行真正的操作。Node.js 即这样与操作系统进行互动。

2、nodejs所谓的单线程,只是主线程是单线程,所有的网络请求或者异步任务都交给了内部的线程池去实现,本身只负责不断的往返调度,由事件循环不断驱动事件执行。

3、Nodejs之所以单线程可以处理高并发的原因,得益于libuv层的事件循环机制,和底层线程池实现。

4、Event loop就是主线程从主线程的事件队列里面不停循环的读取事件,驱动了所有的异步回调函数的执行,Event loop总共7个阶段,每个阶段都有一个任务队列,当所有阶段被顺序执行一次后,event loop 完成了一个 tick。

开发框架:

ThinkJS框架,是一款面向未来开发的 Node.js 框架,整合了大量的项目最佳实践,让企业级开发变得更简单、高效。从 3.0 开始,框架底层基于 Koa 2.x 实现,兼容 Koa 的所有功能。

  • 基于 Koa 2.x,兼容 middleware
  • 内核小巧,支持 Extend、Adapter 等插件方式
  • 性能优异,单元测试覆盖程度高
  • 内置自动编译、自动更新机制,方便快速开发
  • 使用更优雅的 async/await 处理异步问题,不再支持 */yield
  • 从 3.2 开始支持 TypeScript

韩国演唱会门票抢票系统设计思路:

模型层:

  1. 任务表
  2. 用于抢购的傀儡用户表
  3. 韩国票务平台网站表
  4. 系统配置表

控制器层:

  • 中控调度,以分发执行对不同平台的任务。逻辑性强,如果不好实现则可以直接分控任务。
  • 分控,则是直接面向单个平台的操作。

    分为五个主要流程:登录、获取信息辅助前端添加/修改任务、获取信息辅助后端分发座位给傀儡用户、自动购买、查询订单

  • 国内/外代理IP接口
  • 自写验证码识别系统或打码平台API

前端视图层:

layui框架,用习惯了,简单粗暴。

韩国演唱会门票抢票系统正在开发中…

韩国演唱会抢票系统生产环境(Linux)配置记录