zoukankan      html  css  js  c++  java
  • 系统架构调整(概述)

    以下仅为个人整理结果,如果其中有不合理或不规范的地方,请各位随时拍砖~

    最近一年整理公司的项目结构,到目前为止,情况很糟糕,各种无阻止无计划的代码,各种显而易见的安全问题,各种…已经无力,理了一下调改优化放下大致为以下几点:

    1. 数据库连接池优化、采用阿里巴巴开源druid进行调改,并开放性能监控功能

    原因:数据库连接信息明文放入项目中有很大的安全隐患,若服务器被攻破,数据库服务器也将沦陷;目前采用的jdbc已经无法满足日益增加的业务量,而且开发人员对自身编写的sql性能没有非常直观的概念,druid提供的性能监控将大大提供开发人员对性能的概念,在没有dba的协助下可以初步通过优化语句来检验性能结果。

    2. 调整框架,在现有spring框架基础上,加入mybatis

    原因:现有的所有相关数据库操作均写入java代码中,对后期维护及管理都非常不利,最大的不利在于sql的复用性几乎等于0;另,总结数据库执行结果,可分为Map<Object,Object>、List<Map<Object,Object>>,String,Int四种,目前现状是每次均需额外编写相同的的数据处理方法,虽然封装了工具包,但是仍然存在个性化问题。采用mybatis可以大大的提升开发效率,易上手、xml统一配置管理sql,解除了sql与代码之间的强关联,提供了映射标签可自定义也可转为通用结果集,直接动态编写sql。mybatis也有它自身的缺点,但是在目前的情况下,它所带来的利大于弊,后期在做研究调整。~

    3. 大型项目采用maven模块化管理

    原因:现在就存在一个项目,其中整合了各个子系统的代码,导致项目超过100M,不说开发人员,单前端每次调试小功能都要buid好久,中间的时间都消耗在了等待上,若开发机器性能再low点,就只能看白屏了,所以目前的想法就是利用maven,分析系统的代码,抽出各子系统相关代码作为一个module进行管理,公共工具再单独封装或做一个commonmodule,这样每个职能的人员可以只维护指定模块,提高效率。

    4. 采用dubbo进行分布式服务化

    暂无

    5. 系统日志处理

    暂无

    6. 自动化工具

    ansible

    7. …

  • 相关阅读:
    求最大公约数
    1013
    实现页面的3D效果
    实现购物车的加减算法
    随机验证码
    深入理解jQuery中的ajax
    canvas粒子时钟
    node、express框架
    vue的增删改查
    实现点击a标签页面跳转后颜色高亮
  • 原文地址:https://www.cnblogs.com/inncho/p/5175133.html
Copyright © 2011-2022 走看看