SpringCloud神领物流学习笔记:项目概述(一)
1、项目介绍
神领物流是一个基于微服务架构体系的【生产级】物流项目系统,接近企业真实场景的项目,,它涵盖了物流领域的各个方面,包括货物信息管理、订单管理、运输管理、仓储管理、人员管理等多个方面。这个系统的设计完全基于微服务架构,每个功能模块都是一个独立的微服务,每个微服务都有自己的数据库和独立的服务接口。这种设计方式使得神领物流系统具有高度的业务完整度、真实度和复杂度,让学生感受到真实企业开发的挑战和难度。通过这个项目,可以学习到微服务架构的实际应用和开发技能。
2、基本业务流程
流程说明:
- 客户在【神领物流微信小程序】中填写收、发件人地址,以及物品信息,提交订单
- 下单成功后,【快递员上门取件】,并要求用户进行【在线支付】
- 快递员取件成功后,会将快件送回到【营业网点】
- 快件到达营业网点后,司机开始运输,将快件交由【转运中心】进行一系列的转运
- 最后,快件会到达收件人所在的【营业网点】,再由【快递员】进行【派件】操作
- 收件人可以进行【签收】或【拒收】操作
3、系统架构
这张架构图分为多个层次和模块:
平台终端层:
- 包括用户端(小程序)、司机端(APP)、快递员端(APP)和后台管理系统(PC端)。
- 这些终端用于不同角色的使用和管理。
统一网关:
- 作为所有终端和后端服务之间的接口,负责请求的路由和安全。
业务平台:
微服务平台
:包含调度和运输管理。
- 调度(dispatch):负责智能调度、实时调度任务调整、延时取件任务调整等。
- 运输(transport):负责路线规划、网点管理、时间/成本优化路线规划等。
- 运营/任务管理(work):包括运单管理、取件任务管理、派件任务管理等。
微服务体系:提供基础服务、快递微服务、订单微服务等。
支撑平台:
自研组件服务
:
- 权限系统:用户管理、组织管理、权限管理。
- EagleMap:提供路线规划、距离计算、坐标转化等功能。
服务平台
:
- 包括阿里云、美团Leaf、Seata、RabbitMQ、xxl-job、skywalking、支付宝、微信等服务,用于支持消息中间件、任务调度、分布式事务、链路追踪等功能。
数据平台:
- 使用Neo4j、MySQL、MongoDB、Redis、Elasticsearch等数据库和缓存技术,支持数据存储和查询。
整个架构旨在通过不同模块的协同工作,实现高效的物流和运营管理。
4、技术架构
下图展现了神领物流项目使用的主要的技术:
这张技术架构图展示了神领物流项目的主要技术组件和框架,分为多个层次:
- 前端技术:
- 使用 React 和 Vue 作为前端框架,用于构建用户界面。
- TypeScript 提供了静态类型支持,提高代码的可维护性和可读性。
- 后端技术:
- Spring Boot 和 Spring Cloud 用于微服务架构,提供服务治理、配置管理等功能。
- MyBatis 作为持久层框架,简化数据库操作。
- Redis 用于缓存,提高数据访问速度。
- RabbitMQ 作为消息中间件,实现异步通信。
- Elasticsearch 用于全文检索和分析。
- 数据库:
- 使用 MySQL 作为主要关系型数据库,存储业务数据。
- MongoDB 用于存储非结构化数据。
- 运维与监控:
- Docker 用于容器化部署,简化应用的分发和管理。
- Kubernetes 负责容器编排,提供自动化部署、扩展和管理。
- Prometheus 和 Grafana 用于监控和可视化系统性能。
- SkyWalking 进行分布式链路追踪,帮助分析和诊断系统性能问题。
这个技术架构结合了前后端、数据库、消息中间件、运维监控等多个方面的技术,旨在构建一个高效、可扩展、可维护的物流系统。