添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

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

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

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

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是规定了网约车的系统架构,接口技术要求,系统安全要求,功能要求,数据交换接口协议等。

可以通过以下方式获得
识别下方二维码,关注后回复【111】
                    点击“开发者技术前线”,选择“星标????”让一部分开发者看到未来推荐一个不错的网约车项目!!!啥也不说了,上图...项目介绍该项目是一款标准且已上线的“网约车”应用。符合我国交通部对网...
				
1:在运行后台项目之前,请保证拥有正常的开发环境 2:项目结构基于Maven 下的Spring SpringMvc Mybatis+mysql开源框架 3:配备Maven开发环境 4:导入群共享文件 5:正常运行 注:项目模块: a:用户系统模块 b:车辆预定模块 c:接送机服务 d:拼车服务 e:心情说说 f:说说评论 g:轮播图片 提供相应的手机接口: 登录,注册,修改密码,修改用户资料,修改用户图像,发表说说...车辆预定,拼车,轮播图片,等完整的app接口..... 项目管理系统用于开发者进行学习,没有任何版权,开发者可以在源码的基础上,进行改版,可用于企业级项目!
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是它能被广泛应用的原因。 设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 其实还有两类:并发型模式和线程池模式。用一个图片来整体描述一下: Ensoleillén: 居然一条评论都没有。。 我很难相信这位不是在整活,12k的fork的话,8万一个月问题不大的。github的issue里面大把给他介绍工作的,很多都是部门总监这种级别的。然后这位一条都没有回,2023年整年一次代码提交都没有。 不是整活的话,就是挂梯子被抓了,要不就是梯子失效了导致很久没有上github了。 哪位能联系上这位外卖小哥我可以给他内推,8万一个月真不在话下,要是回来在github的评论区里面挑挑拣拣,10万一个月也比喝水简单。 阿里 Weex 彻底凉了? 官方宣布从 Apache Incubator退休! 超级无敌霸王暴龙战士: weex就是个再垃圾不过的东西,有幸被他迫害过 在番看付费美女直播,不想花钱,我这样做了! qq_31077431: 可以付费帮忙吗 为什么我强烈推荐你使用 IDEA,放弃 Eclipse? 风中的疯: idea是收费的,虽然现在可以用破解版,但是今年看来idea已经开始收紧破解程序了。eclipse是真完全免费且开源的集成开发环境