Home

Awesome

SchoolBus

引言

所涉及的技术包含:

计划

访问入口

文档

架构图

架构思考

技术选型

技术选型

架构路线图

架构路线图

环境搭建

后端环境端口

端口

环境启动

环境启动

guns

注意:在guns基础进行快速开发,使用guns的版本是:4.2

调试工具

生成db模型

一些文档

模块

服务端口

服务名称端口
用户服务8081
班车服务8082
订单服务8083
支付服务8084

Gateway

服务名称端口
GateWay8087

Dubbo端口

服务名称端口
用户服务20881
班车服务20882
订单服务20883
支付服务20884

文档树

.
├── doc
├── imgs
└── school-bus
    ├── guns-api
    ├── guns-bus
    ├── guns-core
    ├── guns-gateway
    ├── guns-order
    ├── guns-pay
    └── guns-user

前端页面

用户服务页面

太模糊了-->高清

前端用户服务页面

班车服务页面

太模糊了-->高清

前端班车服务

下单服务页面

太模糊了-->高清

下单服务页面

支付服务页面

太模糊了-->高清

前端支付页面

我的订单页面

太模糊了-->高清

前端我的订单

简历

微服务在线班车预约平台

描述

该平台是针对电子科技大学班车预约平台利用最新的技术进行重构,其中主要提供沙河和清水河的班 车场次的功能、下单功能、支付功能、退款功能等,并且按照学生需求增加相应的功能,比如未支付 订单列表,未支付订单超时自动取消等。

涉及技术

Java、Springboot、MyBatis、Redis、MySQL、Dubbo、RocketMQ 等。

设计技术

  1. 采用 Dubbo 的架构开发,整个项目分为用户、班车、订单、支付四个服务,达到易维护的效果。
  2. 基于 JWT 的 SSO 单点登录,并依携带的 Token 可以访问系统中其他服务,采用 Redis 缓存绑 定用户,达到用户登录一次处处能访问各个系统。
  3. 采用 Redis 的 list 数据结构缓存班车场次列表,并基于 Spring 定时器优化班车场次到点更新班车 状态的业务,最后配合阿里巴巴开源的 Sentinel 中间件进行接口限流达到高并发、高可用的效果。
  4. 下单和支付服务均采用基于阿里巴巴开源的 RocketMQ 消息中间件保持数据的最终一致性,并且 采用 Redis 缓存维持 RocketMQ 消息的幂等性,接着采用 RocketMQ 和 Sentinel 进行接口限流维 护系统的稳定性,最后采用 Redis 的监听 key 键过期事件保证未支付订单超时自动取消业务,达到高 并发、高可用的效果。
  5. 分别采用 Dubbo 和 Nginx 提供的负载均衡机制将班车服务、订单服务、网关分配到不同的服务 器上,达到了高性能的效果。
  6. 接下来的计划是 MySQL 读写分离、Redis 读写分离、以及分布式唯一 ID、集群管理等。