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

论一个架构师能有多离谱

  •  
  •   propheteee · 2023-06-13 19:33:58 +08:00 · 2473 次点击
    这是一个创建于 520 天前的主题,其中的信息可能已经有所发展或是发生改变。

    写了一个功能,循环 10000 次调用人家同一个接口,你没看错就是 10000 次。。。

    第 1 条附言  ·  2023-06-13 23:10:35 +08:00
    说下背景:
    有一个公司内的其他项目组提供的自增 id 的接口, 接口是按照场景来自增。
    我们项目使用了一个场景,有 3 个服务都在使用这一个场景,线上也已经跑了一段时间了。
    这架构师就出了个想法,要把调用自增 id 的服务收拢到一个服务里,另外 2 个服务去调用收拢了自增 id 接口的服务。
    结果他测试下来发现怎么从 0 开始自增,然后他就搞个循环把 id 自增到线上最大的 id ,防止 id 冲突,贴下代码给大家看下。


    @Override
    @ElasticJob(name = "RefreshReqLogIdNumJob", cron = "0 0 0 * * ?")
    public void execute(ExecutorContext executorContext) {

    @Value("${aicenter.refresh.req.log.num:10000}")
    private Integer refreshNUM;

    log.info("开始刷新 reqLogNum 信息");
    Long newReqLogId = 0L;
    for (int i = 0; i < refreshNUM; i++) {
    SoaResponse<Long, Void> aiCenterReqLogId = aiSquenceLeafFacade.getAiCenterReqLogId();
    newReqLogId = aiCenterReqLogId.getResponseVo();
    }
    System.out.println("aicenter_new_req_log_id:" + newReqLogId);
    log.info("完成刷新 reqLogNum 信息");
    }


    不敢想象是一个架构师写的代码,review 代码的时候我直接怼他:循环 10000 次调人家接口你也是能想的出来,你调研人家接口支持的能力了吗?你给人家打崩了责任归谁, 完事他问我该怎么办???
    我给他方案是让她找改接口负责人改下改场景的自增 id ,从 10000 开始就好了,也不会影响人家系统可用性。

    完事他很不爽,说:这个不现实 大半夜的改表?

    我真无语死,我说你去调研下,这种事情你别想当然,然后就是啪啪打脸,结论是人家可以支持的。而且建议改 id 而不是循环调用人家接口,

    更可笑的在后面: 最后发现是他把场景值传错了导致从 0 开始自增。。。。。。


    作为一个开发有 10 的架构师了,最基本的风险规避能力都没有,写代码像刚毕业实习生写的,这种传值传错了的低级错误也能犯。 真是不敢恭维,不过也无可奈何,谁让人家是领导内推的呢,而且听说还是领导老家的。 。。。
    sunjiayao
        1
    sunjiayao  
       2023-06-13 19:40:22 +08:00   ❤️ 3
    论不写前因后果能有多离谱
    mengzhuo
        2
    mengzhuo  
       2023-06-13 20:06:09 +08:00
    没上下文的,我估计架构师也在骂,这接口咋没 bulk 版的
    hhjswf
        3
    hhjswf  
       2023-06-13 20:08:03 +08:00 via Android
    架构师还写代码?
    对方不支持批量调用,你有什么好的方案吗
    roundgis
        4
    roundgis  
       2023-06-13 20:33:44 +08:00 via Android
    這個調用是不是必要?
    liupeng2579793
        5
    liupeng2579793  
       2023-06-13 20:38:02 +08:00   ❤️ 3
    对方没有批量接口 每次请求参数都不一样 你有什么高见呢
    xyjincan
        6
    xyjincan  
       2023-06-13 20:45:21 +08:00
    目的是 ddos 攻击吗
    owen800q
        7
    owen800q  
       2023-06-13 22:12:18 +08:00
    没有批量接口 每次请求参数都不一样, 99%的人都會 for loop 请求
    Nnq
        8
    Nnq  
       2023-06-13 22:23:19 +08:00
    😂 人家就不给你提供一个 bulk 版本 为了让你调一次付一次钱
    token10086
        9
    token10086  
       2023-06-13 22:54:03 +08:00
    你不说多少钱的架构师,我很难喷呀
    ql562482472
        10
    ql562482472  
       2023-06-13 23:10:17 +08:00
    调又怎么了,要是我,还要开 10 个线程调呢 这样多块啊,对自己接口咋这么没信心呢 简单接口分分钟就回来了 天天压复杂查询到接口上干啥呢
    propheteee
        11
    propheteee  
    OP
       2023-06-13 23:21:21 +08:00
    @liupeng2579793 无参接口,append 我详细阐述了,看看我司架构师水平。。
    spicy777
        12
    spicy777  
       2023-06-13 23:52:28 +08:00
    看了 append 确实是挺离谱的
    propheteee
        13
    propheteee  
    OP
       2023-06-14 00:06:50 +08:00
    领导上个季度还给了我 D 绩效,后续我准备连领导一起举报到高层,证据一直在收集中,不想让我好过,那大家都别好过了。
    hhjswf
        14
    hhjswf  
       2023-06-14 00:35:38 +08:00 via Android
    乐了。最扯倒不是代码能力如何,作为架构师多少算个管理,沟通协调能力太差了,不知道你们公司有多大,内部沟通都开不了口?
    万不得已,他这个方案也不是不行,都是同步请求,每个接口返回 100ms ,1 秒最多 10 个请求,qps10+都扛不住?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5390 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 08:02 · PVG 16:02 · LAX 00:02 · JFK 03:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.