该项目是一款标准且已上线的“网约车”应用。符合我国交通部对网约车监管的技术要求。通过了交通部对网约车线上和线下能力认定。项目原型曾在杭州上线运行。

项目中核心功能包括: 账户系统,订单系统,支付系统,地图引擎,派单引擎,消息系统等 网约车核心解决方案

项目中完全采用微服务架构设计,应用了成熟的接口安全设计方案,采用分布式锁保证了分布式环境中的数据同步,用分布式事务解决了分布式环境中的数据一致性等。

Git,Maven,Spring Boot,Spring Cloud,Redis,MySql ,RabbitMQ,ActiveMQ等。

项目架构图

好了,到这里,整个项目介绍的也差不多了,感兴趣的同学可以下载一波白皮书!

资源获取方法,老规矩啦!

识别下方二维码,关注后回复【111】

即可获取下载白皮书

资料1:【项目白皮书】

资料2:【网络预约出租汽车开发手册】

资料2是规定了网约车的系统架构,接口技术要求,系统安全要求,功能要求,数据交换接口协议等。

可以通过上方式二维码获得
 

说明:通过学习该项目,巩固大家原来学过的Spring Cloud微服务相关的知识,并学会如何在实际项目中落地应用。

01.项目概述

学习目标

对项目有整体认识。了解公司中项目管理的方式,及项目开发的整体流程。

学习内容

介绍项目当时的市场背景,及项目的特色。

演示项目demo:项目的乘客端和司机端,让大家对项目有个直观的认识。

介绍项目组织方式,人员配置,开发模式。

学习如何制定项目计划。

介绍项目整体的开发流程。

02.项目Kick Off

学习目标

了解公司项目启动会。

学习内容

确定做什么?

确定谁做?明确各方(产品,开发,测试,运维,运营,市场)责任。

确定里程碑,各方的联调时间点。

03.需求评审

学习目标

了解项目需求,知道我们课程最终要实现的需求有哪些?

学习内容

需求宣讲。

需求确认。

明确各方开发边界(Android,iOS,H5,后端,运维)。

04.架构设计

学习目标

了解设计的原则,能应用原则指导软件产品的设计。

学习内容

微服务设计原则介绍,并落地应用。

介绍项目整体设计。

画整体架构图。

进行业务分层:业务层,能力层,基础层,通用层。

进行微服务拆分。

介绍微服务常用组件,在网约车中的应用。

05.接口设计

学习目标

学习如何进行好的接口设计。

学习内容

接口设计原则。

接口安全设计。接口遇到的安全问题,及解决方案。

接口功能设计。

画交互时序图。

06.工程设计

学习目标

学习如何组织项目整体结构,设计单个项目结构。

学习内容

阿里规约中对工程设计的约束。

包结构的组织。

依赖关系管理。

07.DB设计

学习目标

根据产品需求和网约车国家标准,设计数据结构。

学习内容

数据库设计原则。

数据库设计中的问题。

数据库设计小技巧。

阿里规约中对数据库设计的要求

数据库设计。

08.开发编码

学习目标

能手敲代码,完成功能实现。从源码级别学习,能按需进行自定义扩展。

业务内容

乘客注册/登录。单点登录,服务端无状态认证,JWT。

乘客预估价格。预估起点和终点的价格。

乘客叫车。根据起点和终点,进行叫车,下单。

系统派单。系统根据派单规则,进行订单派发。

司机听单。司机实时监控有没有乘客下单。

司机抢单。司机抢单,涉及分布式锁的实现。

行程状态变更。在订单行进中,订单状态的变更。

司机发起收款。司机向乘客发起收款请求。

乘客支付订单。乘客支付订单。涉及分布式事务的实现。

监管平台上报。将网约车业务信息,上报给国家。涉及消息队列的应用。

09.测试

学习目标

如何编写测试用例

学习内容

单元测试基本原则

单元测试覆盖率

junit单元测试用例编写。

常用测试工具的使用。

10.部署

学习目标

能熟练通过Docker和K8S,进行项目部署。实现微服务动态伸缩。

学习内容

Docker部署集群服务。


K8S实现微服务的弹性伸缩。


阿里内部开发和运维的恩怨情仇。

11.出师面试

学习目标

如何用项目进行面试。

学习内容

项目面试要点

真实面试场景回放

12. Spring Cloud Alibaba 改造

学习目标

将Spring Cloud Netflix 向 Spring Cloud Alibaba 迁移

学习内容

将 Netflix 技术栈 改造成 Alibaba技术栈

改造项目过程中的坑

13. 传统单体服务向微服务改造

学习目标

如何从传统服务改造成微服务

学习内容

传统服务向微服务改造的切入点


传统项目向微服务改造中的坑,及解决思路分析


实战落地填坑(原敏感信息如何安全无缝迁移,兼容老app接口等)



13.  日常服务升级的思路

学习目标

新旧服务升级的常用方式

学习内容

介绍常用的发布方式:蓝绿发布、滚动发布、灰度发布


灰度发布的几种设计思路


手敲代码,带学生进行服务升级落地。

14. 第二代微服务Service Mesh

学习目标

学习使用服务网格

学习内容

服务网格 Service Mesh 学习

服务网格 Service Mesh 和第一代微服务的异同

如何将传统微服务向 服务网格迁移

实战落地 服务网格

资料1:【项目白皮书】

资料2:【网络预约出租汽车开发手册】

资料2是规定了网约车的系统架构,接口技术要求,系统安全要求,功能要求,数据交换接口协议等。

可以通过以下方式获得
获得方式:
1. 扫描下方二维码
2. 回复 【111】 即可。
????长按上方二维码 2 秒
回复「111」即可获取资料
                                    Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。JAVA + mybatis + Maven + Vue 等等组成,B/S模式 + Maven管理等等。2. 前端:vue+css+javascript+jQuery+easyUI+highcharts。其他版本理论上也可以。2. 使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目JAVA智慧防疫上报系统服务端计算机毕业设计Mybatis+系统+数据库+调试部署。ssm基于javaweb的硕士研究生招生考试专业报考查询及学习系统设计与实现。springboot基于Springboot的滑雪场学具租赁管理系统。ssm基于javaweb开发数码产品推荐平台系统设计与实现。JSP酒店餐饮管理系统的设计与实现sqlserver。springboot颜如玉图书销售网站的设计与实现。ssm攀枝花市房屋租售信息管理平台的设计与实现。ssm基于B_S景区票务管理系统设计与实现。...
                                    本文主要是针对网约车管理问题进行开发一套“网约车管理系统”。整个系统开发过程首先对系统进行需求分析,得出其主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计等;详细设计主要包括系统数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。
本系统开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与网约车管理系统的实际需求相结合,确定了SSM开发网约车管理系统的使用。
关键字:网约车管理系统 ; SSM;数据库
                                    当accessToken快要过期了,但是用户正在访问,此时突然过期,对用户体验很不友好。GET请求中,如果参数放在body中,使用@RequestBody进行参数传递,GET请求会被转成POST请求。同一个父项目中的各个子项目,如果需要相互调用,可以在父项目中加对应的项目依赖,也可以在调用的项目中添加依赖。第一种缺点:不适合频繁有插入的情况(第一页的数据,可能在看第二页的时候被挤到第二页了,看到了重复数据)dependencies:在父项目中写了依赖后,子项目自动继承父项目的依赖,可以直接使用。
                                    1.概述1.1.背景随着公司车辆和订单的增长,对智能调度算法的需求越来越迫切1.2.目的该算法主要解决以下几个问题:1、为了更好的服务乘客,订单被派单优先级的策略2、模拟系统中司机空驶策略的生成3、人流分布变化的机器学习方法4、一个城市需要司机数目的计算方法5、从统计数据中得到运营策略
2.地图乘客分布矩阵拉取只读从库中的订单起点数据制作成热力图武汉附近的分布情况如下图:
我们取 经纬度范围113...
                                    城际网约车订单分配问题及其求解算法问题的定义数学建模用于城际网约出行的智能订单分配算法智能订单分配算法
问题的定义
  城际网约车订单分配问题是订单分配问题的一种,它主要是为了解决特定城市之间的个性化出行难题。在城际网约车服务中,订单分配问题是指在满足一定的约束条件和特定城市之间的客户出行需求的情况下,对从某个城市出发到达目标城市的一系列客户订单安排合理的接送路线,从而减少车辆的空载率,缩短客户的...
                                    实体设计较为简洁,包括顾客,请求订单,订单,司机,司机评价,司机请求订单。司机可有个司机评价,多个订单,多个请求订单。用户上车后形成订单,用户到达目的地,司机提交费用,用户支付后订单结束,订单可查询。一年内注册用户数可达5000万,日均订单800万,高峰时段每小时200万订单。用户可以查看接单司机的评价,在订单完成后可以对接单司机进行评价。系统向距离用户较近的若干个司机发送约车信息,司机自行选择接单。司机可以设置开始/结束接单,用户可以发起/取消约车请求。包括普通用户和司机的注册、登录、退出。
                                    图书馆大家应该都用过,找车牌非常方便,不过最近墙的非常厉害。
一位叫guyueyingmu的老司机在Github上发布了一套开源代码,用户只需在服务器上部署这套源码,就可以搭建一个和图书馆类似的网站。
网站带爬虫技术,可以自动抓取数据更新,使用户更加方便地管理岛国影片。
有网站分享了一份更详尽的搭建教程,有能力的可以自己搭建一下,教程在下面图片。
同时,作者也提供了一份windows下开箱即用的数...