Efun_order新项目上线springBoot

上月  十号开始 加入新买单项目的开发,项目架构就是微服务 SpringBoot,之前 帮龙哥 做的一个网站也是基于springBoot,当时 龙哥提供了 完整的静态页面,让我加个后台程序,管理发布的文章,不需要使用mysql数据库,意思就是说  不要其他额外的东西  因为没有人维护  所以要做到 直接提供一个 war就能跑,数据都保存在war包中  当时就直接使用的 xml文件来保存网站所有的文章 ,并且 提供了crud  这样他就能  自己发布文章 管理文章,当时  也遇到了 很多坑,最坑中之坑的是   我按照文档 把静态资源都放在 static目录下  在本地部署  一切完美,根据教程打了war包  交给 运维以后上线跑后,发现  静态资源被拦截....这尼玛上哪去说理,查配置查来查去 也没查清楚什么问题,  这个静态资源被拦截的问题  很荣幸的 出现在新项目中  我们万能的亮哥 两分钟就解决了,然后我和贵哥  跑过去问 亮哥,怎么做的  亮哥 打开配置文件 说 谁改动了 配置...看了  一眼 也没整明白

 我在这个项目经历过很多的没遇到的问题,如果不是项目经理超强的全局把握能力和领导魅力,不论是在封 闭期间,还是在那段加班的日子,依然保持团队的团结和斗志。因为这个项目经理,团队心甘情愿的跟着他把项目完成。有一个好的项目经 理,对项目来说太重要了。当然,项目的每个成员都很重要。

       我在 项目中负责app的接口编写,买单项目中一大重要举动就是 合并了之前美食订单列表,对于列表的合并当时接手的时候 还是有点措手不及,订单都在不同表中,要做聚合其实可以使用UNION 合并结果集,但当时讨论说合并结果集速度太慢,于是列表就聚合到Mongo数据库中然后全部都从mongo中获取,并且使用中间件 进行监听mysql的三个订单表  实时更新状态到 mongo中  ,思路是行的通的,分割完模块以后就开始使用新架构进行开发,由于使用mongo数据库经验较少,查阅了很多资料,而且监测canal服务是在老项目中进行检测 然后写入到mongo中,老项目和新项目中使用的 mongo插件是不同的,这里用的时间比较多,好在根据文档也都完成了 功能,项目中一直没有发现的一个问题  是mongo时区的问题,存入mongo中date字段都少了8个小时,还有bigdecimal类型存入mongo中是不支持的,类型只好换成string字符串进行保存,在写监测更新功能的时候没有注意到从sql中取出的int字端 再存入mongo中  有的字段能保存成功,而一部分字段保存进去自动变成long类型,我排查了sql表中字段的属性类型 长度都是一致的,也只能强行把有问题的字段转成string 然后解析成int才能保存成功,测试的时候发现问题,从这些地方我认识到我的知识面不够宽,应该抓紧时间提升自己的知识储备.在和app小组对接接口的时候发现一个重要问题,  返回的json  中message 字段存在混乱的状态,经过 调试 发现请求进来是message 的属性是上一个请求存储的信息,这里架构解决的这个问题,是因为 springBoot 的controller 是单例的   虽然不同的请求是不同的线程,但是controller 总是同一个,架构取消了 公共变量  JsonMessage以及其他存在共享的类属性.

 项目中期出现一些问题  检测中间件 canal服务并不稳定,之前做财务系统的时候,并没有出现过这样的事,这个问题直接影响到  列表功能的实现,发现了漏单  漏属性  列表无法及时更新,沟通后说可以增加 canal实例来处理买单订单列表的聚合,但是现在测试的时候不稳定也就没法测,到这里才是问题最大的地方,以前写的功能可能要推倒了,架构奇哥说  要稳定的话 直接在插入 mysql表的时候开一条线程处理mongo的聚合,我抓紧 把插入代码实现出来  让测试能够稳定测列表功能,在老项目中 一折吃订单预付后插入打包表 时 开启线程 插入mongo  买单下单是插入mongo  第三方回调时  更新 mongo 中订单状态,这样订单列表才算稳定下来,对于一折吃订单 状态的更新,需要侵入的地方太多 而且代码不熟悉,无法像买单订单一样在回调中更新状态,不得不只能迂回式聚合,一折吃订单只保存了打包表id   在查询时回填数据,这样性能牺牲了太多..听说一折购的以后也要聚合.....问题 大大小小出现了 不少  但是好在团队中成员  很好沟通,而且有大牛坐阵,超出知识面的问题 大牛解决,而且能学到很多东西,在项目中 我深刻的体会到 开发成员之间 协调工作的重要性,如  app 和wap 之间 接口共用很多地方  都是沟通出来的结果   ,万幸的是  华哥的需求稳定,没有很大改动.经历 本次项目  收获很多  感谢 亮哥和同事们的帮助

你可能感兴趣的:(mysql,mongo,SpringBoot)