开发指南062-异步处理接口

简介: 后台有些接口耗时非常长,如果采用同步处理机制,前台等待时间过长,这时需要改异步操作

后台有些接口耗时非常长,如果采用同步处理机制,前台等待时间过长,这时需要改异步操作。实现方法有很多,例如走消息队列,接口收到请求后,推送消息即返回。处理由其他服务程序来完成。这种方法,业务分散在两个服务中完成,不利于业务内聚。这种方法适合把一些公用操作封装为一个处理服务中心,各业务服务通过消息队列发消息。

      一般业务,平台推荐在自己服务中通过线程解决。创建线程可以自己完成,但系统推荐采用CompletableFuture机制,实现步骤如下:

    1、定义自己的业务处理类:

        @Service

        public class Example implements Runnable{

             public void run(){

                 //比较耗时的业务处理

             }

        }

        其中最重要的是实现run函数

   2、接口里调用:

         注入上面的Example 类

         private Example example;

         接口里

               CompletableFuture.runAsync(example);

               然后返回即可

  3、运行结果可以写到数据库里,其他接口访问数据库获取运行过程和结果即可

       同时通过平台消息/短信/邮件等方式通知发起者

相关文章
|
SQL 监控 Java
分布式任务调度之xxl-job
分布式任务调度之xxl-job
|
Java 测试技术 Python
Python:Flask使用ThreadPoolExecutor执行异步任务
Python:Flask使用ThreadPoolExecutor执行异步任务
907 0
|
Python
Python中的异步编程:使用asyncio和aiohttp实现高效网络请求
【10月更文挑战第34天】在Python的世界里,异步编程是提高效率的利器。本文将带你了解如何使用asyncio和aiohttp库来编写高效的网络请求代码。我们将通过一个简单的示例来展示如何利用这些工具来并发地处理多个网络请求,从而提高程序的整体性能。准备好让你的Python代码飞起来吧!
446 2
|
10月前
|
缓存 安全 Linux
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
2027 23
|
Python
Python中的异步编程:理解并使用asyncio和aiohttp
【8月更文挑战第24天】在Python中,异步编程是一个强大的工具,它可以帮助我们编写出高性能的网络应用。本文将介绍Python的异步编程库asyncio和aiohttp,并通过示例代码展示如何使用它们来创建一个简单的HTTP服务器。我们将看到,通过使用这些库,我们可以在不阻塞主线程的情况下处理大量的并发请求。
234 1
【Azure 环境】连接到微软云Azure中国区 By VS 2019, VS Code, Powershell
【Azure 环境】连接到微软云Azure中国区 By VS 2019, VS Code, Powershell
371 0
【Azure 环境】连接到微软云Azure中国区 By VS 2019, VS Code, Powershell
|
存储 JSON 监控
你好,iLogtail 2.0
你好,iLogtail 2.0!
1875 100
|
机器学习/深度学习 搜索推荐 算法
AIGC对金融行业的影响
【1月更文挑战第20天】AIGC对金融行业的影响
390 4
AIGC对金融行业的影响
|
Ubuntu 关系型数据库 MySQL
expect自动交互脚本:简化你的自动化任务
`expect` 是Linux自动化神器,用于模拟键盘输入与交互式应用自动交互,常用于自动登录服务器、执行命令。安装 `expect`(CentOS: `yum -y install tcl expect`, Ubuntu: `apt-get -y install expect`) 后,编写脚本如SSH登录示例,自动发送密码和命令。通过结合shell命令,`expect` 可实现复杂任务,如获取IP、登录MySQL。支持多服务器管理,根据用户输入选择登录。学习 `expect` 提升自动化效率!
980 0
下一篇
oss云网关配置