前后端交互接口逻辑编排复盘

文章探讨了前后端项目中如何区分核心数据和非核心数据,提出初始的一把梭写法可能导致性能问题。随后介绍了优化策略,如异步查询非核心数据以减少页面加载时间,确保首屏加载体验。作者强调了非核心数据容错和用户体验的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、背景

在笔者工作中遇到的前后端交互的项目中,后端处理并返回数据,前端进行显示数据时,会有核心数据和非核心数据的区别。对于核心数据应该强保障,而对于非核心数据则弱保障即可。

那么核心数据和非核心数据的处理方式和逻辑编排则是不同。刚步入职场时,最得心应手的写法就是一把梭。不管数据核心与否,全部是同步调用和无异常处理。

二、演进

观察

一把梭的写法

public class ToBShowQueryTest {
    //http的响应接口
    public static void main(String[] args) throws InterruptedException {
        String httpRes = getHttpRes();
        System.out.println(httpRes);
    }


    
    //服务编排接口
    public static String getHttpRes() throws InterruptedException {
        String codeData = queryCodeData();
        String nonCodeData1 = queryNonCodeData1();
        String nonCodeData2 = queryNonCodeData2();
        return codeData+"+"+nonCodeData1+"+"+nonCodeData2;
    }



    //原子能力查询接口
    public static String queryCodeData() throws InterruptedException {
        Thread.sleep(1500);
        return "核心数据";
    }

    public static String queryNonCodeData1() throws InterruptedException {
        Thread.sleep(3000);
        return "非核心数据1";
    }

    public static String queryNonCodeData2() throws InterruptedException {
        Thread.sleep(3000);
        return "非核心数据2";
    }

}

反思

一把梭写法的时序图如下:

其中查询核心数据需要1.5s,查询非核心数据1和非核心数据2则都需要3s,故一次http请求则需要7.5s。如果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值