缓存外部系统接口返回信息的方案

概要:

在一个大的系统当中,通常会切分成多个子系统,子系统与子系统之间可以通过微服务、http接口或者mq等来相互通讯。假设有这样一种场景,A系统需要调用B系统的f1 接口,获取数据后再向前端系统输出。
前端系统通常所承受的并发量是非常大的,也就是说A系统的接口需要有很高的qps。

这个时候我们需要缓存B系统接口的输出,以便提高A系统接口的响应速度。

详细内容请看我的csdn博客链接:

缓存外部系统接口返回信息的方案

时间: 2024-09-30 15:37:04

缓存外部系统接口返回信息的方案的相关文章

接口抛出异常信息中英文两套

场景:接口抛出的erroMsg需要有中英文语言两个版本,目前的做法是在接口调用的时候多加一个语言的参数,然后在try catch的时候在配置文件里找对应的翻译信息,再返回到接口报错信息中 新建两个properties文件,一个errocode对应的繁体中文的errMsg,一个放对应的英文映射,格式如下 在controller中把调用接口的语句try catch起来,在catch中把errMsg根据errCode和语言字段,找到对应的报错信息翻译,然后直接抛出到接口返回信息中 P.S: 抛出的异常

接口调用外部系统返回数据,本系统做数据分页封装

场景: 本系统用的Mybatis分页插件PageHelper,调用了外部系统返回的数据为String类型的JSON串,数据量毕竟多,界面需要分页展示. 解决思路: 返回数据转List,然后把多个List放到一个List里,然后在从这个List里进行分页,前端只需要传一个页码过来即可, 部分代码如下: Service代码 ResponseMsg<AppResp> responseMsg = new ResponseMsg<>(); int currentPage = req.getC

对服务器端接口的调用,自己手写了一个脚本,但返回信息的中文总是乱码(这个方法很不错,重要的是解决思路,寻找手写脚本与录制脚本 生成目录文件的区别)

对服务器端接口的调用,自己手写了一个脚本,但返回信息的中文总是乱码.在网上搜索了很多方法,包括: 1.Tools->Recording Options->Advanced->勾选Support charset UTF-8 2.Run-time Settings->Browser->Browser Emulation->Change,将language置为中文 3.web_add_auto_header("Accept-Language","

系统间数据交互的方案探讨

===================================== 互联网时代, 1等公民是建立规范和协议的人 2等公民是提供服务的人 3等公民是开发软件的人 4等公民是卖硬件的人 ===================================== 信息系统的普及应用导致原有系统间的信息孤岛需要通过系统间接口进行数据交互,信息交互的接口常见有以下几种: (1)数据库交互:服务方提供表或存储过程,由调用方控制commit或rollback. (2)文件交互:双方对请求文件各应答文件

linux系统下cpu信息的查看

在Linux系统中,提供了proc文件系统显示系统的软硬件信息. 如果想了解系统中CPU的提供商和相关配置信息,则可以通过/proc/cpuinfo文件得到. 基于不同指令集(ISA)的CPU产生的/proc/cpuinfo文件不一样,基于X86指令集(大部分都是这个指令集)CPU的/proc/cpuinfo文件包含如下内容: processor //系统中逻辑处理核的编号.对于多核处理器则可以是物理核.或者使用超线程技术虚拟的逻辑核 vendor_id //CPU制造商 cpu family

ping命令基于ICMP协议的返回信息分析

Ping是潜水艇人员的专用术语,表示回应的声纳脉冲,在网络中 Ping 是一个十分好用的 TCP/IP 工具.它主要的功能是用来检测网络的连通情况和分析网络速度.可以利用 PING 命令检查网络连通状态,ping命令是基于ICMP. 这里先介绍ICMP.ICMP是网络层协议,一个新搭建好的网络,往往需要先进行一个简单的测试,来验证网络是否畅通:但是IP协议并不提供可靠传输.如果丢包了,IP协议并不能通知传输层是否丢包以及丢包的原因.所以我们就需要一种协议来完成这样的功能–ICMP协议 1.ICM

Android 设置系统的返回键 和软键盘获取焦点问题

很多朋友出现过这样的一个问题,当底部弹出评论框时,有几个问题,一个是软件盘弹出时怎么让焦点在输入框,关于这个问题,本人也是遇到过,解决了很久,有的是在布局设置或者代码里setFocusable(true),并没有用,又在代码或者代码里设置requestFocus(),依然没有用,其实这个解决办法是没有错的,但是为什么会没用呢,因为并没有及时是在软件盘弹出时设置,所以先提出隐藏和显示软件盘的方法 private void onFocusChange(boolean hasFocus) { fina

Thinkphp入门 四 —布局、缓存、系统变量 (48)

原文:Thinkphp入门 四 -布局.缓存.系统变量 (48) [控制器操作方法参数设置] http://网址/index.php/控制器/操作方法 [页面跳转] [变量调节器] Smarty变量调节器 TP变量调节器:普通的php函数 (count  strlen   str_replace) 定义:前者的输出,是后者的输入 [子模板包含] 当前模块彼此包含 <include  file=”模板名称”  /> [使用布局layout] 1. 开启布局,配置变量信息config.php 2.

无废话Android之内容观察者ContentObserver、获取和保存系统的联系人信息、网络图片查看器、网络html查看器、使用异步框架Android-Async-Http(4)

1.内容观察者ContentObserver 如果ContentProvider的访问者需要知道ContentProvider中的数据发生了变化,可以在ContentProvider 发生数据变化时调用getContentResolver().notifyChange(uri, null)来通知注册在此URI上的访问者,例子如下: private static final Uri URI = Uri.parse("content://person.db"); public class