【前言】

在重构系统之前对架构及重要技术点进行了一些研究并应用到项目中;不过在重构的时候又陆陆续续发现些需要改进的地方;最近一段时间在改进后端框架;在此与大家分享一下在这个过程中所作一些事情和自己的一些思考。

【一些优化】

1、包的命名到服务还是模块:在开发过程中规范也是十分重要,好的规范不仅利于开发,而且利于以后的维护会大大减小开发成本;我们的系统由七个服务组成,每个服务又由N个模块组成,包的命名涉及到我们关注的粒度,综合实际情况我们最终采用的是到服务级别。

2、开发流程按照模块还是包:在分工的时候是按照模块来划分还是包来划分,我们根据自己当时的情况,将人员分成七个组,每个组是按包,包内的模块由每个组再自己去定。

3、mybatis逆向工程处理一些问题:由于采用是我们自己的逆向工程工具,和当初预料一样,在开发过程中需要改一些东西以适应开发(增加批量操作、自己生成UUID、模糊查询等等....)。

4、POM文件的梳理及开发添加pom流程:Maven管理程序之间的相互依赖关系,但是传递依赖等问题在开发中要留意,对Pom进行梳理,原则:自己用自己依赖,不要靠别人依赖;不然很容易别人的改动导致自己出问题;大家都按这个原则来则会减少很多不必要的坑;另外针对版本,都统一在parent中配置,统一来升级,防止大家用不同的版本而导致的兼容性问题。

5、一些规范的建立 (如:日志....):很多规范在开发之前是不能完全预料到弄出来,需要在开发过程中不断去完善补充,比如日志的打印形式,怎样打印有利于后期采用ELK收集,另外打印入参有利于快速排错等。

6、事务方面一些考虑:在设计的时候通过业务的划分规避了分布式事务(不同服务之间只有查,没有修改操作);在同一个服务中,针对事务要写在方法上而不是类上(写在类上浪费性能), 以后还需要考虑到异常数据的保留。

7、开发模式:如何分工能更好的利用资源?如何将系统做的更加的灵活可配? 这些需要团队在不断的磨合中去思考和总结。

【总结】

1、不要犯懒,勤于思考,只有不断的思考和总结才能提高自己;

2、多和人沟通和交流,在沟通和交流中使自己可以学到很多东西,成长的更快。

智能一代云平台(三十四):后端架构一些总结相关推荐

  1. 智能一代云平台(十九):选修课---类似秒杀的高并发业务

    强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan [前言] 选课,考试,评教这三个功能是我们的云平台中的重头戏:并发高是这三个功能的一个共同特点, ...

  2. 智能一代云平台(十二):轮次设置

    ​强烈推荐一个大神的人工智能的教程:http://www.captainai.net/zhanghan [前言] 基础系统是云平台中十分重要的一个子系统,它为其他系统提供了基础数据的支撑:基础系统中有 ...

  3. 智能一代云平台(十):Jboss远程访问流程总结

    [前言] 最近在做一个EJB相关的项目,在做的过程用到了远程调用的相关东西,自己进行一下梳理和总结,在此与大家分享. [相关流程]      一.对EJB和Jboss两者梳理: 1.小感:大多数情况下 ...

  4. 智能一代云平台(三十):逆向工程生成mybatis

    [前言] 最近在研究mybatis逆向工程的一些东西:通过研究Mybatis+通用mapper.逆向工程生成mybatis.Hibernate+mybatis:最终综合这些优点实现了一个我们自己的逆向 ...

  5. 智能一代云平台(三十一):mybatis加入分页

    [前言] 在<智能一代云平台(三十):逆向工程生成mybatis>已经将mybatis的逆向工程搞定了:但是美中不足的是mybatis的分页查询:接下来一起来探索一下分页查询. [分页查询 ...

  6. 智能一代云平台(二十九):通用mapper的改造

    [前言] 最近研究一下Mybatis的通用mapper,然后对其进行了一些改造以适合我们的系统,接下来为大家分享一下我的研究思路以及研究成果. [研究之路]      一.ORM框架选型: 1.我们最 ...

  7. 智能一代云平台(五):移动开发之环境搭建

    [前言] 谣传最近IT领域异常火热,而IT中的移动端领域更是如日中天. 做为一名程序猿的我,也不甘Out:于是雄心勃勃参加一个智能一代云平台移动端项目开发:之前有人做了第一版,现在我们需要重构. [基 ...

  8. 创办智能车竞赛平台,十五年无间断,育人数十万

    ➤01 初稿 一.竞赛简介   全国大学生智能汽车竞赛是以智能汽车为研究对象,面向全国大学生开展的复杂工程探索类别的科技竞赛,目标是提高学生的动手实践能力.探索创新兴趣.团队协作精神.它起源于2005 ...

  9. [Python人工智能] 三十四.Bert模型 (3)keras-bert库构建Bert模型实现微博情感分析

    从本专栏开始,作者正式研究Python深度学习.神经网络及人工智能相关知识.前一篇文章开启了新的内容--Bert,首先介绍Keras-bert库安装及基础用法及文本分类工作.这篇文章将通过keras- ...

  10. 回溯法采用的搜索策略_强化学习基础篇(三十四)基于模拟的搜索算法

    强化学习基础篇(三十四)基于模拟的搜索算法 上一篇Dyna算法是基于真实经验数据和模拟经验数据来解决马尔科夫决策过程的问题.本篇将结合前向搜索和采样法,构建更加高效的搜索规划算法,即基于模拟的搜索算法 ...

最新文章

  1. JAVA_OA(十四)番外:JAVAWEB防止表单重复提交的方法整合(包括集群部署)
  2. push declined due to email privacy restrictions
  3. 数据库面试 - 分库分表之后,id 主键如何处理?
  4. 86-90linux下配置javaEE环境
  5. 【Elasticsearch】es如何停用节点
  6. Numpy——浅拷贝与深拷贝
  7. 常用的CSS Hack技术集锦
  8. 【Alpha】Scrum Meeting 10
  9. 计算机组成原理——存储器容量扩展(字扩展、位扩展、字位扩展)
  10. lagrange量中的u和v的来历
  11. 项目管理提升绩效考核的方法
  12. 数学知识都是计算机,数学在计算机的作用
  13. C/C++实现水果忍者(四) 实现按鼠标左键划过水果消失的功能
  14. 赴微软测试工程师必考一道笔试题目
  15. 用OpenCV计算图像的亚像素值
  16. Windows Server 2008 R2使用WDS服务实现批量安装操作系统演示
  17. git提交代码设置某些文件不可上传
  18. 英语八年级上册计算机的事实,人教版英语|八年级上册各单元必考知识点汇总,收藏!...
  19. 安卓-橡皮擦擦线完整实现
  20. 什么是物联网安全,为什么它很重要?

热门文章

  1. 还在担心快应用没流量?全场景新玩法来袭!
  2. AI 芯片为何遭遇滑铁卢?
  3. 我是如何从通信成功转型为 Java 软件开发工程师的?
  4. 主流芯片架构即将变天!
  5. 马化腾怒怼张一鸣;中兴产品下架;微信整改小程序 | CSDN 极客头条
  6. 没了乔布斯,iOS 的 Bug 更多了,更新更频繁了
  7. 华为进军美国受挫:竟被美运营商巨头临时放鸽子
  8. 人工智能翻译之间的对决:谷歌为什么败给了有道?
  9. 网络编程之 创建多个子进程,避免踩坑。
  10. mysql主从同步触发器_Mysql 主从复制触发器问题