神领物流项目
文章平均质量分 97
ddd_dhm
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
day12 实战需求
1 在git中获取基础微服务代码2 将数据库中的取派件任务表sl_work.sl_pickup_dispatch_task中的数据存储到es中,后续任务搜索查询es即可test代码:查询所有取派件任务及相关订单的实体,封装为entity实体存储到es中3 mq代码。原创 2024-10-26 14:36:21 · 941 阅读 · 0 评论 -
day11-分布式日志与链路追踪
GrayLog是一个轻量型的分布式日志管理平台其基本框架如图:微服务中的GrayLog客户端发送日志到GrayLog服务端GrayLog把日志信息格式化,存储到Elasticsearch或MongoDB可视化:客户端通过浏览器访问GrayLog,GrayLog访问Elasticsearch这里MongoDB是用来存储GrayLog的配置信息的,这样搭建集群时,GrayLog的各节点可以共享配置。效果如下:面试点:linux查看日志使用命令面试:elk中怎么看日志,都显示的什么内容。原创 2024-10-21 21:50:32 · 761 阅读 · 0 评论 -
day10-物流信息微服务
reids订阅频道,使redis像mq一样可以群发消息。但由于reids没有可靠性,重试机制的处理。故只在清理缓存的时候使用。原创 2024-10-18 19:06:50 · 860 阅读 · 0 评论 -
day09-智能调度之取派件调度
*** 新增取派件任务* @param taskPickupDispatch 取派件任务信息* @return 取派件任务信息*/此方法的实现,调用自定义Mapper中的SQL实现。SELECTWHERE</select>COUNT(1)中的1表示常量,与COUNT(0),COUNT(*)结果相同,都为统计行数其中item="courierId"与#{courierId}的名称需要相同,意义为集合中的每一项的命名和传参。取什么名字都可以,但二者需相同。原创 2024-10-17 09:03:35 · 1166 阅读 · 0 评论 -
day08-智能调度之作业范围
每个营业网点可以在地图上画一个多边形范围(多个坐标点组成,首尾坐标点相同),存储到MongoDB数据库中,使用MongoDB提供的方法intersects(),只需将参数坐标点传入。db.user.find({age:{$lte:21}, id:{$gte:2}}) #and查询,age小于等于21并且id大于等于2。在项目中,会有两个作业范围,分别是机构作业范围和快递员作业范围,这两个作业范围的逻辑是一致的,就是在地图中进行画出范围,就是其作业范围。数据模型即表的字段(MongoDB中1数据a,b字段。原创 2024-10-11 08:26:00 · 1072 阅读 · 0 评论 -
day07-智能调度之运输任务
路线上设置车次,每一个车次设置车辆计划,车辆计划与车和司机有关(车有营业执照,类型。前面将运单合并,合并之后就需要进行调度计算(按照车辆的运力生成运输任务),以及司机的作业单,进入到司机与车辆的运输环节。3.3获取公平锁(避免分布式装车操作时,将一个用户的货装到不同的车次,当一辆车装满时仍有可能装到两个车)司机入库就意味着车辆入库,也就是此次运输结束,需要开始下一个运输、结束此次运输任务、完成司机作业单等操作。3计算加上redislist右侧这个订单货物的车辆总重量,总体积(注意写法,使用stream)原创 2024-10-09 10:34:02 · 1038 阅读 · 0 评论 -
day06-智能调度之调度任务
Leaf 取号段的时机是在号段消耗完的时候进行的,也就意味着号段临界点的ID下发时间取决于下一次从DB取回号段的时间,并且在这期间进来的请求也会因为DB号段没有取回来,导致线程阻塞。当前号段已下发10%时,如果下一个号段未更新,则另启一个更新线程去更新下一个号段。对于运单号的生成有特殊的要求,格式:SL+13位数字,例如:SL1000000000760,对于这个需求,如果采用MP提供的雪花id生成是19位,是不能满足需求的,所以我们需要自己生成id,并且要确保唯一不能重复。原创 2024-09-28 15:54:03 · 814 阅读 · 0 评论 -
day2-神领物流-运费服务研发
本项目中,在接收参数,微服务间调用,返回参数都使用DTO对象。在service中对数据库进行操作时用entity对象。这里需要将DTO对象(比entity对象多几个属性)使用项目提供Utils转换为entity对象有些项目可能多一个VO对象作为返回参数对象在神领物流项目中,我们统一做了自定义异常的处理。com.sl.transport.common.exception.SLException(用于微服务之前接口调用抛出的异常)原创 2024-06-25 20:54:20 · 1100 阅读 · 0 评论 -
day5-神领物流-路线规划之微服务
mq应用整合在base微服务中,并提供两个sendMsg发消息接口。其他微服务只需调用接口即可使用mq。优点:将mq发消息,可靠性处理整合到一个微服务中。其他微服务简化了开发成本缺点:增加了http请求的开销,增加了时长。(从直接发送到mq变为,发送到base->mq)(在微服务不断交互的本项目中,增加一次互相调用可以接受。另将这些微服务部署到同一个内网中,性能较好)另:base微服务使用集群工作,不用担心宕机后不可使用。原创 2024-09-10 17:13:34 · 859 阅读 · 0 评论 -
day4-神领物流-路线规划Neo4j入门
路线规划需求分析路线规划实现方案分析了解怎么用即可学习Cypher入门学习Spring Data 操作Neo4j,Cypher语句注:主要学习一些技术,day5为实际开发。原创 2024-09-06 12:37:04 · 242 阅读 · 0 评论 -
day3-神领物流-支付微服务研发(实际开发)
支付流程:细节:数据库表怎么设计的,渠道是做什么的,如何动态获取支付方式的(注解+handler容器+ioc)反射。原创 2024-09-05 16:05:12 · 915 阅读 · 1 评论 -
day1-神领物流项目(基于微服务的物流项目)概述
神领物流是一个基于微服务架构体系的【生产级】物流项目系统,最接近企业真实场景,按照企业标准编写。物流公司在扩张后要打造一套新的TMS运输系统。业务侧重于展示车辆调研、线路规划等核心业务流程,操作智能化,大幅度提升人效及管控效率。教学级的项目会在真实项目基础上做阉割。此项目除去自己开发的代码,其他代码也都在项目中。项目组属于开发部门,开发部门有仓储系统WMS、运配系统TMS、单据系统OMS、计费系统BMS。项目四组。TMS项目组目前共8人,其中前端3人,后端5人,分模块开发。原创 2024-06-19 16:32:57 · 2926 阅读 · 9 评论
分享