【上海迪士尼度假区】技术解决方案

news/2024/11/28 1:38:53/

在这里插入图片描述


开源平台地址
Giteehttps://gitee.com/issavior/disney

技术解决方案

    • 1. 背景
    • 2. 技术架构
    • 3. 业务架构
      • 3.1 架构图
      • 3.2 说明
    • 4. 技术能力
      • 4.1 自研中间件
      • 4.2 定制化中间件
    • 5. 领域模型
    • 6. 数据模型
    • 7. 交易链路
    • 8. 状态机
    • 8. 接口文档

1. 背景

上海迪士尼度假区已运营近10年,度假区交易体系依赖于各家平台(携程、去哪儿、途牛、芒果网、悠哉网等),随着互联网的高速发展以及度假区业务的不断迭代更新,目前的技术架构已经很难支持度假区的需求和业务。

故度假区经过慎重的考虑,确定上海迪士尼度假区的交易系统从0构建,打造度假区自己的交易自闭环,更好的为用户服务。

2. 技术架构

在这里插入图片描述

3. 业务架构

3.1 架构图

在这里插入图片描述

3.2 说明

  • disney-auth-all ----- 认证授权中心
  • disney-business-all ----- 业务中心
    • rcs-parent ----- 购物车服务
    • rds-parent ----- 数据分析服务
    • rgs-parent ----- 商品服务
    • ros-parent ----- 订单服务
    • rps-parent ----- 支付服务
    • rts-parent ----- 交易服务
    • rus-parent ----- 用户服务
  • disney-config-all ----- 配置中心
  • disney-fusing-all ----- 熔断降级中心
  • disney-gateway-all ----- 服务网关中心
  • disney-job-all ----- 分布式调度中心
  • disney-mq-all ---- 消息队列中心
  • disney-register-all ----- 注册中心
  • disney-rpc-all ----- 远程服务调用中心
  • disney-sdk-all ----- 开发工具中心
  • disney-trace-all ----- 分布式链路追踪中心
  • disney-transition-all - 分布式事务中心

4. 技术能力

4.1 自研中间件

  1. 注册中心:Disney-Register的设计与实现
  2. 配置中心:Disney-Config的设计与实现
  3. RPC:Disney-Rpc的设计与实现
  4. 熔断降级:Disney-fusing的设计与实现
  5. 分布式事务:Disney-Transaction的设计与实现
  6. 分布式调度:Disney-Job的设计与实现
  7. 分布式链路追踪:Disney-Trace的设计与实现
  8. 服务授权中心:Disney-Auth的设计与实现
  9. 服务网关:Disney-Gateway的设计与实现

4.2 定制化中间件

  1. 改造mybatis逆向工程
  2. 改造Redis多级缓存
  3. 改造RocketMQ消息队列
  4. 整合Nacos、Sentinel

5. 领域模型

【上海迪士尼度假区】技术解决方案 - 领域模型

6. 数据模型

【上海迪士尼度假区】技术解决方案 - 数据模型

7. 交易链路

在这里插入图片描述

8. 状态机

【上海迪士尼度假区】技术解决方案 - 状态机

8. 接口文档

【上海迪士尼度假区】技术解决方案 - 接口文档


http://www.ppmy.cn/news/1086788.html

相关文章

无涯教程-Flutter - Dart简介

Dart是一种开源通用编程语言,它最初是由Google开发的, Dart是一种具有C样式语法的面向对象的语言,它支持诸如接口,类之类的编程概念,与其他编程语言不同,Dart不支持数组, Dart集合可用于复制数据…

使用docker部署db2

1.使用docker部署db2 1.1 拉db2镜像 将db2镜像拉起到本地。 docker pull ibmcom/db21.2启动容器 docker run -d -p 50000:50000 --name db2 --privilegedtrue -e DB2INST1_PASSWORDdbPassword DBNAMEjumpdb -e LICENSEaccept -v /usr/local/db2:/database ibmcom/db2实例化…

【Eclipse】Project interpreter not specified 新建项目时,错误提示,已解决

目录 0.环境 1)问题截图: 2)错误发生原因: 1.解决思路 2.具体步骤 0.环境 windows 11 64位,Eclipse 2021-06 1)问题截图: 2)错误发生原因: 由于我手欠,将…

统计教程|PASS实现两计量指标的的Pearson相关分析时的样本量估计

在临床研究中我们经常会研究两个观察指标间是否有联系,如人的身高与体重、体温与脉搏次数、药物剂量与反应等,相关分析就是研究观察指标间相关关系的统计方法,由于不同资料类型其分析方法有所差异,故本节主要讲解的是定量资料的线…

upload-labs靶场通关详解

文章目录 Pass-01Pass-02Pass-03Pass-04Pass-05Pass-06Pass-07Pass-08Pass-09Pass-10Pass-11Pass-12Pass-13Pass-14Pass-15Pass-16Pass-17Pass-18Pass-19Pass-20方法一(文件夹名欺骗绕过)方法二(%00截断攻击) Pass-21 Pass-01 绕过…

qemu-system-x86_64 命令创建虚拟机,报gtk initialization failed的

因为是ssh命令行启动,增加--nographic # /opt/debug/bin/qemu-system-aarch64 -machine virt-6.2 -qmp tcp:localhost:1238,server,nowait --nographic configure accelerator virt-6.2 start machine init start cpu init start add rom file: virtio-net-pci…

Oracle表空间实用语句(查询、新建、扩充)

oracle表空间 Oracle的表空间与数据文件是成对出现的,每一个数据文件对应一个表空间,一个表空间可以包含多个数据文件。表空间分为普通表空间和大文件表空间,普通表空间的单个数据文件最大为32G,而大文件表空间的单个数据文件最大…

Navicat Premium 16.2.7 数据库管理教程

Navicat Premium 16.2.7是一款功能强大的数据库管理工具,支持多种数据库类型,包括MySQL、Oracle、SQL Server等。以下是使用Navicat Premium的基本步骤: 安装Navicat Premium软件。打开Navicat Premium,在主界面上选择“新建连接…