Skip to main content

场景设计

在做场景设计时,需要按照一定的方法去执行:

  1. 明确需求和目标 -> 基于需求拆解模块和功能
  2. 性能评估 -> 评估最大用户、最大并发量
  3. 系统架构设计 -> 网关、服务模块

设计一个短视频评论系统

请实现用户评论排序功能,要求作者评论置顶,其余评论依次按照点赞数,创建时间进行排序。

考点:

  • 在此场景下 redis zset 数据结构设计

设计一个翻译服务系统

如果做一个翻译服务,翻译能力来自于供应商,如何从技术上对几家( A 、B 、C )供应商作出评估与整合。

考点:

  • 三方服务评估模型
  • 服务设计需要考虑什么
    • 需求分析
    • 能力分析
    • 运维监控
      • 日志
      • 报警

设计一个图书借阅系统

  • 明确需求和目标,拆解功能
    • 书籍清单(默认)
    • 书籍清单(类型)
    • 用户管理(管理员和普通用户)
    • 借阅
    • 借阅记录(书籍)
    • 借阅记录(用户)
  • 性能评估,忽略性能
  • 架构设计
    • 前端
    • 后端
      • api
        • GET:/api/books
      • mysql
        • book
          • id int primary key auto_increment
          • name varchar(50) not null
          • publish datetime not null
          • store int not null
        • user
          • id int primary key auto_increment
        • book_user_record
          • book_id
          • user_id
        • book_record
          • type int not null comment '书籍记录状态:1:借阅 2:归还 3:遗失 4:损坏'
        • user_record

设计一个评论系统

考点:

  • 整体架构设计

设计一个公交地铁系统

设计一个订单取消系统

设计一个群聊系统

设计一个微服务网关

考点:

  • 设计一个网关需要考虑那些点
    • 安全方面
      • 认证与授权
      • 限流与熔断
      • IP封禁
    • 网关层
      • 路由转发
      • 功能聚合
    • 负载均衡
    • 服务注册与发现
      • K8S:Ingress+Service