秒杀场景的技术实现与架构设计

May 23,2023
架构
Java

1. 什么是秒杀场景?

秒杀是指在特定时间内,用户通过线上平台以极低的价格抢购限量商品或服务的活动。秒杀场景具有以下特点:

  • 高并发:短时间内大量用户同时访问系统,请求量激增。
  • 瞬时流量:流量在秒杀开始时达到峰值,随后迅速下降。
  • 库存有限:商品数量少,需快速判断库存并锁定。
  • 低延迟要求:用户期望快速响应,任何延迟可能导致用户流失。
  • 公平性:确保每个用户有公平的抢购机会,防止恶意刷单或作弊。

常见的秒杀场景包括电商平台的“双 11”促销、节假日特价机票抢购、演唱会门票秒杀等。

Read more →

JSON Web Token认证方案

May 23,2019
安全
Web
架构

JSON Web Token(JWT)是当今最流行的跨域认证解决方案之一,广泛应用于分布式系统和前后端分离架构中。本文将详细介绍 JWT 的原理、结构、使用方式及其优缺点,理解其在现代 Web 开发中的重要性。

一、跨域认证的挑战

在互联网服务中,用户认证是不可或缺的一环。传统的认证流程通常如下:

  1. 用户向服务器发送用户名和密码。
  2. 服务器验证通过后,在会话(session)中存储用户相关信息,如用户 ID、角色、登录时间等。
  3. 服务器返回一个 session_id,存储在客户端的 Cookie 中。
  4. 后续请求中,客户端通过 Cookie 自动携带 session_id,服务器根据 session_id 查找会话数据以确认用户身份。
  5. 服务器根据会话数据处理请求并返回结果。

这种基于 session 的认证方式在单机环境中运行良好,但在分布式系统或跨域场景中面临扩展性问题。例如,假设 A 和 B 是同一公司的两个网站,用户在 A 网站登录后,希望访问 B 网站时自动登录。如何实现?

Read more →