当前位置: 首页 > 知识库问答 >
问题:

使用Resttemplate作为简单的API网关

韩乐湛
2023-03-14

我正在使用Resttemplate在spring boot项目中构建一个简单的API网关。当我的网关收到来自客户端的请求时,它通过RESTful调用将请求发送到另一个服务,然后将响应传递回客户端。

我的代码片段如下所示:

@RestController
@RequestMapping("api/v1/message")
public class GatewayController {

    @PostMapping
    public ResponseEntity<Response> dispatchRequest(@RequestBody Request request) {
        validateInput(request);         

        Response response = restTemplate.post(URL_OF_ANOTHOER_SERVICE, request, ...);

        return ResponseEntity.ok(response);
    }
}

我每秒大约有100多个请求,我知道Resttemplate是线程安全的。

我的问题是:

  1. 做这样的工作可以吗?它会成为瓶颈吗
  2. 还有其他建议吗

非常感谢你。

共有1个答案

萧展鹏
2023-03-14

您可以尝试Spring Cloud Gateway或Spring CloudNetflix。

你不需要从头开始构建网关,除非你愿意。即使你想,你也可以考虑安全性、成熟度和维护等方面。

Spring CloudNetflix的一些模块已经进入维护模式,因此,Spring Cloud Gateway可能是一个很好的选择

 类似资料:
  • Keys 应该是稳定,可预测,并且唯一的. 这样React才能正确追踪到某一个元素. 坏实践 在下面这段代码中,每个元素的key事实上是它在todos这个数组里面的顺序, 而事实上更好的实践应该是把key和我们想要表达的数据紧紧关联在一起. 下面这种做法会阻碍React对于我们组件的优化. {todos.map((todo, index) => <Todo {...todo}

  • 我正在尝试使用这个api,这是链接 我已经在我的控制器中尝试过了 在我的日程安排程序中 而他们都没能拿到汇率。 为什么我不能使用rest模板获得汇率。

  • 本文向大家介绍vs2010制作简单的asp.net网站,包括了vs2010制作简单的asp.net网站的使用技巧和注意事项,需要的朋友参考一下 直入主题: 打开visual studio 2010程序开发软件 单击菜单栏的文件,依次选新建->网站->ASP.NET空网站,这里我们选择空网站,利于今后DIY自己的网站,最好什么从头来,便于对各类架构的理解(若是选择ASP.NET网站也行,只是里面已经

  • 啊, 我正在尝试使用Apache Http Client 4.5.3从JDK1.6.0_45向API网关发送POST请求

  • 我有一个充当静态网站的S3 bucket,我正在使用API网关向它分发流量。我知道CloudFront在这里是一个更好的选择,但请不要建议它。这不是一个选择,由于原因我不想说。 我正在通过配置{proxy+}资源来完成我的解决方案。下图: 我想只允许从API网关代理资源访问S3网站。是否有一种方法可以为代理资源提供一个执行角色,类似于如何为资源提供一个执行角色来运行lambda函数?Lambda执

  • 本文向大家介绍Python制作简单的网页爬虫,包括了Python制作简单的网页爬虫的使用技巧和注意事项,需要的朋友参考一下 1.准备工作: 工欲善其事必先利其器,因此我们有必要在进行Coding前先配置一个适合我们自己的开发环境,我搭建的开发环境是: 操作系统:Ubuntu 14.04 LTS Python版本:2.7.6 代码编辑器:Sublime Text 3.0 这次的网络爬虫需求背景我打算