乐尚代驾--面经+总结

一、背景概述

        乐尚代驾是一项旨在为客户提供安全、便捷的代驾服务的项目代驾是一种新型的出行服务模式,主营业务:酒后代驾、商务代驾、长途代驾,其主要特点是通过线上平台为用户提供代驾服务,伴随中国家庭汽车保有量的飞速增长代驾行业驶进了快车道,当前项目就是以此为背景设计出来的。

二、技术栈

SpringBoot:简化Spring应用开发。

SpringCloudAlibaba:Spring Cloud Gateway、Spring Cloud OpenFeign、Sentinel等。

MySQL:关系型数据库。

MyBatis-Plus:持久层框架。

Redis:内存做缓存,使用GEO 作为GPS分区定位计算。

Redisson:Redisson 是一个基于 Redis 的 Java 客户端,主要用于简化 Redis 的使用,并提供一个易于使用的 API。

RabbitMQ:消息中间件;大型分布式项目是标配;分布式事务最终一致性

Seata:分布式事务

Drools:规则引擎,计算预估费用、取消费用等等。

ThreadPoolExecutor+CompletableFuture:异步编排,线程池来实现异步操作,提高效率。

XXL-JOB: 分布式定时任务调用中心,完成任务调度。

阿里云OSS对象存储服务:阿里云提供的一种海量、低成本、高可靠的云存储服务。

阿里云视觉智能开放平台:是一个基于人工智能和大数据技术的综合性图像和视频处理服务平台。该平台提供了多种视觉识别和分析的API,旨在帮助企业和开发者构建智能应用。

Docker:容器化技术。

Git:代码管理工具;Git使用,拉代码、提交、推送、合并、冲突解决。

三、超卖问题

        超卖问题产生的原因:同时有多个数据库事务并发执行,如果有两个事务同时查询发现还有剩余的库存1个,并且都执行库存扣减1 的操作,那么就会产生超卖。

解决:

        使用乐观锁解决。添加版本号。

        使用悲观锁解决。

四、司机抢单

        当前司机已经开启接单服务了,实时轮询司机服务器端临时队列,只要有合适的新订单产生,那么就会轮询获取新订单数据,进行语音播放,如果司机对这个订单感兴趣就可以抢单,大家注意,同一个新订单会放入满足条件的所有司机的临时队列,谁先抢到就是谁的。

### 代驾项目前端和后端环境搭建配置教程 #### 前端环境搭建 为了使前端能够正常工作,需完成一系列准备工作。这包括但不限于注册微信开发者账号、开通必要的服务与插件以及熟悉并使用微信开发者工具。 - **注册微信开发者账号** 注册成为微信开发者是接入微信生态的第一步,通过该平台可以获取到开发所需的AppID和其他必要权限[^2]。 - **开通服务与插件** 开通所需的服务和插件对于实现特定功能至关重要,比如支付接口等增值服务都需要提前申请并通过审核才能正式投入使用。 - **微信开发者工具使用** 微信官方提供了专门的IDE——微信开发者工具,用于小程序页的设计调试等工作。掌握其基本操作有助于提高开发效率。 #### 后端环境搭建 后端部分涉及多个组件和服务的部署,具体如下: - **数据库MySQL安装** MySQL作为关系型数据库管理系统,在本项目中承担着存储结构化数据的任务。按照官方文档指导完成相应版本的选择下载及安装过程即可满足需求。 - **消息队列RabbitMQ安装** RabbitMQ是一种支持多种协议的消息中间件产品,适用于构建可靠的应用程序间通信机制。依据官方网站说明执行安装命令来设置实例。 - **缓存Redis安装** Redis是一个开源内存中的键值对存储系统,常被用来做高速读写场景下的临时数据保存容器。遵循社区指南完成软件包的引入及其参数调整。 - **服务发现Nacos安装** Nacos提供了一套易于使用的API来进行动态服务发现、配置管理等功能。参照手册指示进行快速入门式的本地测试环境建立。 - **对象存储MinIO安装** MinIO是一款高性能的对象存储解决方案,特别适合处理海量非结构化的文件资源。依照发行版提示完成初始配置并向应用层开放访问路径。 ```bash # 安装MySQL示例(基于Linux) sudo apt update && sudo apt install mysql-server ``` ```bash # 安装RabbitMQ示例(基于Ubuntu/Debian系) sudo apt-get install rabbitmq-server -y ``` ```bash # 安装Redis示例(通用方式) wget http://download.redis.io/releases/redis-6.2.5.tar.gz tar xzf redis-6.2.5.tar.gz cd redis-6.2.5 make ``` ```bash # 下载Nacos压缩包并解压启动(Windows/Linux/MacOS均适用) curl -O https://github.com/alibaba/nacos/releases/download/{version}/nacos-server-{version}.zip unzip nacos-server-{version}.zip sh startup.sh -m standalone ``` ```bash # 使用Docker安装MinIO (推荐方法之一) docker run -p 9000:9000 minio/minio server /data ```
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值