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

2023-10-13 20:10

本文主要是介绍【上海迪士尼度假区】技术解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述


开源平台地址
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.chinasem.cn/article/205567

相关文章

关于Nginx跨域问题及解决方案(CORS)

《关于Nginx跨域问题及解决方案(CORS)》文章主要介绍了跨域资源共享(CORS)机制及其在现代Web开发中的重要性,通过Nginx,可以简单地解决跨域问题,适合新手学习和应用,文章详细讲解了CO... 目录一、概述二、什么是 CORS?三、常见的跨域场景四、Nginx 如何解决 CORS 问题?五、基

Nginx启动失败:端口80被占用问题的解决方案

《Nginx启动失败:端口80被占用问题的解决方案》在Linux服务器上部署Nginx时,可能会遇到Nginx启动失败的情况,尤其是错误提示bind()to0.0.0.0:80failed,这种问题通... 目录引言问题描述问题分析解决方案1. 检查占用端口 80 的进程使用 netstat 命令使用 ss

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

在MySQL执行UPDATE语句时遇到的错误1175的解决方案

《在MySQL执行UPDATE语句时遇到的错误1175的解决方案》MySQL安全更新模式(SafeUpdateMode)限制了UPDATE和DELETE操作,要求使用WHERE子句时必须基于主键或索引... mysql 中遇到的 Error Code: 1175 是由于启用了 安全更新模式(Safe Upd

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

Java下载文件中文文件名乱码的解决方案(文件名包含很多%)

《Java下载文件中文文件名乱码的解决方案(文件名包含很多%)》Java下载文件时,文件名中文乱码问题通常是由于编码不正确导致的,使用`URLEncoder.encode(filepath,UTF-8... 目录Java下载文件中文文件名乱码问题一般情况下,大家都是这样为了解决这个问题最终解决总结Java下

Idea实现接口的方法上无法添加@Override注解的解决方案

《Idea实现接口的方法上无法添加@Override注解的解决方案》文章介绍了在IDEA中实现接口方法时无法添加@Override注解的问题及其解决方法,主要步骤包括更改项目结构中的Languagel... 目录Idea实现接China编程口的方法上无法添加@javascriptOverride注解错误原因解决方

MYSQL事务死锁问题排查及解决方案

《MYSQL事务死锁问题排查及解决方案》:本文主要介绍Java服务报错日志的情况,并通过一系列排查和优化措施,最终发现并解决了服务假死的问题,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录问题现象推测 1 - 客户端无错误重试配置推测 2 - 客户端超时时间过短推测 3 - mysql 版本问

Android kotlin语言实现删除文件的解决方案

《Androidkotlin语言实现删除文件的解决方案》:本文主要介绍Androidkotlin语言实现删除文件的解决方案,在项目开发过程中,尤其是需要跨平台协作的项目,那么删除用户指定的文件的... 目录一、前言二、适用环境三、模板内容1.权限申请2.Activity中的模板一、前言在项目开发过程中,尤

Linux内存泄露的原因排查和解决方案(内存管理方法)

《Linux内存泄露的原因排查和解决方案(内存管理方法)》文章主要介绍了运维团队在Linux处理LB服务内存暴涨、内存报警问题的过程,从发现问题、排查原因到制定解决方案,并从中学习了Linux内存管理... 目录一、问题二、排查过程三、解决方案四、内存管理方法1)linux内存寻址2)Linux分页机制3)