V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dengji85
V2EX  ›  Java

关于无顶层设计的公司内部独立系统调用的问题,求指点迷津

  •  
  •   dengji85 · 2021-02-19 11:32:40 +08:00 · 2017 次点击
    这是一个创建于 1402 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景:1k 人左右的外包公司内部系统:erp 、hrm 、项目管理系统 开发的时候没做什么架构设计
    erp 是基于网上的开源框架 jeesite,经过刚毕业的缺经验的 3 、4 波人改了,写代码充斥着 copy,堆业务完全没有顶层设计,几个子系统也是并行开发的
    后面强行整合 比如离职状态需要各个系统晚上同步、出报表时从各个系统抽数据、后面要命的开始在方法层面整合:也没搞分布式事务、也没有统一的调用规范、http 接口、直连数据库、触发求、定时任务...
    各个系统都是单节点,经常不说一声就重启或挂掉 请问如何保证数据一致性?暂时想到的方法 1.需要事务 方法级的业务耦合:好像只能引入分布式事务、成本太高、打算留给后人解决了 2.无需事务 比如填了加班日志、自动往加班申请模块插入数据 这种就反复重试比如 guava retryer 但重试任务还得持久化又是一问题


    ps:组里开发 3 人,都是做的小项目、组长是毕业编码 2 年就转管理岗的,项目经验就是老掉牙的这个项目,改框架、定标准基本没戏,而且所谓也不敢动 代码不可考
    这种工作是不是得跑了,3 年没任何成长,工资也低

    13 条回复    2021-02-22 10:38:16 +08:00
    saulshao
        1
    saulshao  
       2021-02-19 11:50:24 +08:00
    这种情况还是尽快撤退吧。
    devld
        2
    devld  
       2021-02-19 12:00:35 +08:00 via Android
    和我们好像,也是做内部系统的。所有系统给我的感觉就是,能用就行。
    swulling
        3
    swulling  
       2021-02-19 12:04:49 +08:00
    先提高可用性,再说什么一致性之类的事情。

    服务可用性是简单最有效提高幸福度的事情了
    bthulu
        4
    bthulu  
       2021-02-19 12:12:44 +08:00
    看你们是能用就行, 还是愿意花大力气来一点一点的重构
    dengji85
        5
    dengji85  
    OP
       2021-02-19 13:44:20 +08:00
    @swulling 嗯 茅塞顿开 最能体现业绩的东西
    dengji85
        6
    dengji85  
    OP
       2021-02-19 13:45:52 +08:00
    @devld 虽说目标是这样 没有硬性的考核指标 但待久了这种缺乏顶层设计 维护成本还是自己
    carity
        7
    carity  
       2021-02-19 14:42:17 +08:00
    得重构才能彻底解决问题,我司初期项目也是这样,花了一年,全公司主要项目都重构了一遍,不过我司开发团队有上百人
    dengji85
        8
    dengji85  
    OP
       2021-02-19 16:05:17 +08:00
    @carity 哈哈,你这是财大气粗的公司 我们开发人员也有几百,随便组个的项目组都不至于这样,内部系统不打算投钱而已
    Joker123456789
        9
    Joker123456789  
       2021-02-19 16:40:28 +08:00
    你如果是决策者,那你可以这么干: 现在的这套系统先让他跑着,让别人有东西用。

    然后另起一条线,重新开发一个,好好设计。等开发完了,就把老的替换掉。

    如果感觉重新开发成本太高,那你可以采用渐进式,一个模块一个模块的重新改写,慢慢升级。

    如果你是不决策者,你可以向上级反映,如果上级执意要这样耗着,那你可以跑路了,赶紧换一家吧。
    carity
        10
    carity  
       2021-02-19 18:19:45 +08:00
    @dengji85 主要是之前的系统太重了,代码风格各异,系统压力也大,开发维护都十分耗费人力,急需重构
    swulling
        11
    swulling  
       2021-02-20 09:02:17 +08:00
    @dengji85 整一个 K8S 集群,来一个虚拟化专项,打通 CI/CD 流程。

    就取一个名字叫研发效能提升专项,而且这个做好了,还能推广到全公司,让公司都用你这套基础设施。
    dany813
        12
    dany813  
       2021-02-20 11:46:01 +08:00
    小公司不就是这样吗
    SkyLine7
        13
    SkyLine7  
       2021-02-22 10:38:16 +08:00
    太真实了 小公司能用就行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1604 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:34 · PVG 00:34 · LAX 08:34 · JFK 11:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.