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

| 开源平台 | 地址 |
|---|---|
| Gitee | https://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 自研中间件
- 注册中心:Disney-Register的设计与实现
- 配置中心:Disney-Config的设计与实现
- RPC:Disney-Rpc的设计与实现
- 熔断降级:Disney-fusing的设计与实现
- 分布式事务:Disney-Transaction的设计与实现
- 分布式调度:Disney-Job的设计与实现
- 分布式链路追踪:Disney-Trace的设计与实现
- 服务授权中心:Disney-Auth的设计与实现
- 服务网关:Disney-Gateway的设计与实现
4.2 定制化中间件
- 改造mybatis逆向工程
- 改造Redis多级缓存
- 改造RocketMQ消息队列
- 整合Nacos、Sentinel
5. 领域模型
【上海迪士尼度假区】技术解决方案 - 领域模型
6. 数据模型
【上海迪士尼度假区】技术解决方案 - 数据模型
7. 交易链路

8. 状态机
【上海迪士尼度假区】技术解决方案 - 状态机
8. 接口文档
【上海迪士尼度假区】技术解决方案 - 接口文档
相关文章:
【上海迪士尼度假区】技术解决方案
开源平台地址Giteehttps://gitee.com/issavior/disney 技术解决方案 1. 背景2. 技术架构3. 业务架构3.1 架构图3.2 说明 4. 技术能力4.1 自研中间件4.2 定制化中间件 5. 领域模型6. 数据模型7. 交易链路8. 状态机8. 接口文档 1. 背景 上海迪士尼度假区已运营近10年,…...
每日刷题-2
目录 一、选择题 二、编程题 1、倒置字符串 2、排序子序列 3、字符串中找出连续最长的数字串 4、数组中出现次数超过一半的数字 一、选择题 1、 题目解析: 二维数组初始化的一般形式是: 数据类型 数组名[常量表达式1][常量表达式2] {初始化数据}; 其…...
AOSP内置搜狗输入并设置默认输入法
前期准备 AOSP分支:aosp13_r7 系统版本:Ubuntu 22.04.1 LTS 工具:手,vscode,winscp(因为我是用的服务器编译) 下载搜狗输入法 思路: 1.集成搜狗输入法到aosp 2.删除系统输入法 3.设置搜狗输入法为默…...
ICCV 2023|通过慢学习和分类器对齐在预训练模型上进行持续学习
点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 作者介绍 张耕维 悉尼科技大学在读博士生,研究方向为持续学习 报告题目 通过慢学习和分类器对齐在预训练模型上进行持续学习 内容简介 持续学习研究的目标在于提高模型利用顺序到达的数据进行学习的…...
蓝桥杯打卡Day5
文章目录 日志排序重复者 一、日志排序IO链接 本题思路:本题就是根据就是排序的知识点,在sort内部可以使用仿函数来改变此时排序规则。 #include <bits/stdc.h>const int N10010; int n; std::string logs[N];int main() {std::ios::sync_with_stdio(false)…...
QT for andriod
QT for andriod 开发 apk软件,因为一些特殊的原因,在这里简单的记录一哈自己开发apk的流程和心得。 首先说明我采用的环境有哪些? 1、QT的版本,个人建议5.15.2的版本及以上,我是用的5.15.2。 2、andriod studio 可以…...
【广州华锐互动】AR技术在配电系统运维中的应用
随着科技的不断发展,AR(增强现实)技术逐渐走进了我们的生活。在电力行业,AR技术的应用也为巡检工作带来了许多新突破,提高了巡检效率和安全性。本文将从以下几个方面探讨AR配电系统运维系统的新突破。 首先,AR技术可以实现虚拟巡检…...
TiDB 一栈式综合交易查询解决方案获“金鼎奖”优秀金融科技解决方案奖
日前,2023“金鼎奖”评选结果揭晓, 平凯星辰(北京)科技有限公司研发的 TiDB 一栈式综合交易查询解决方案获“金鼎奖”优秀金融科技解决方案奖 , 该方案已成功运用于 多家国有大行、城商行和头部保险企业 。 此次获奖再…...
《网络是怎样连接的》(六)
本文主要取材于 《网络是怎样连接的》 第六章。 目录 6.1 服务器概览 6.2 服务器的接收操作 6.3 Web服务器程序解释请求消息并作出响应 6.4 浏览器接收响应消息并显示内容 简述:本文主要内容是解释 网络包到达服务器之后,如何给客户端响应的。 服务…...
2023年高教社杯数学建模国赛 赛题浅析
2023年国赛如期而至,为了方便大家尽快确定选题,这里将对赛题进行浅析,以分析赛题的主要难点、出题思路以及选择之后可能遇到的难点进行说明,方便大家尽快确定选题。 难度排序 B>A>C 选题人数 C>A>B (预估结果&…...
使用QT操作Excel 表格的常用方法
VBA 简介 Microsoft Office软件通常使用VBA来扩展Windows的应用程序功能,Visual Basic for Applications(VBA)是一种Visual Basic的一种宏语言。 在VBA的参考手册中就可以看到具体函数、属性的用法,Qt操作Excel主要通过 QAxObj…...
vue前后端端口不一致解决方案
在config index.js文件中 引入如下代码即可 const path require(path) const devEnv require(./dev.env) module.exports {dev: {// PathsassetsSubDirectory: static,assetsPublicPath: /,proxyTable: devEnv.OPEN_PROXY false ? {} : {/api: {target: http://localhos…...
springcloudSeata处理分布式事务之1.7.0
1.5.0之后版本发生了很大改变 1.seata安装 1.1官网地址 http://seata.io/zh-cn/ 1.2下载地址 https://github.com/seata/seata/releases 下载的是seata-server-1.7.0.zip 1.3seata相关配置的修改 seata-server-1.7.0\seata\conf下的application.yml进行修改 server:por…...
每日刷题|回溯法解决全排列问题
食用指南:本文为作者刷题中认为有必要记录的题目 前置知识:回溯法经典问题之组合 ♈️今日夜电波:爱人错过—告五人 1:11 ━━━━━━️💟──────── 4:52 …...
10-JVM调优工具详解
上一篇:09-JVM垃圾收集底层算法实现 前置启动程序 事先启动一个web应用程序,用jps查看其进程id,接着用各种jdk自带命令优化应用 1.Jmap 此命令可以用来查看内存信息,实例个数以及占用内存大小 jmap -histo 14660 #查看历史…...
东方博易oj——3119 - 约瑟夫问题2(链表)
文章目录 题目题目描述输入输出样例输入 输出标签 AC代码 题目 题目描述 约瑟夫问题:有 n n n只猴子,按顺时针方向围成一圈选大王(编号从 1 1 1到 n &#…...
C++,day0907
#include <iostream>using namespace std; struct stu { private:int num; private:double score[32];public:void setNum(){cout <<"请输入学生人数:";cin >>num;}void input(){cout<<"请输入学生的成绩:"<<endl;for(int i…...
孤儿僵尸守护进程的简单理解
孤儿进程: 一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程所收养,并由init进程对它们完成状态收集工作。 如何模仿一个孤儿进程: 答案是: kill 父…...
学习笔记——Java入门第一季
1.1 Java的介绍与前景 Java语言最早期的制作者:James Gosling(詹姆斯高斯林) 1995年5月23日,Sun Microsystems公司宣布Java语言诞生。 1.2 Java的特性与版本 跨平台 开源(开放源代码) Java代码ÿ…...
更改注册表exe值后的惨痛经历
装软件时由于执行性文件打不开,搜索教程更改了exefile的值,最后整个电脑崩了,所有EXE都打不开,折腾了5个小时,什么办法都试了,甚至重置电脑都不让,打算拿电脑城修电脑了,突然搜到了一…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...
springboot 日志类切面,接口成功记录日志,失败不记录
springboot 日志类切面,接口成功记录日志,失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...
Spring Security 认证流程——补充
一、认证流程概述 Spring Security 的认证流程基于 过滤器链(Filter Chain),核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤: 用户提交登录请求拦…...
