gpt4 book ai didi

HATEOAS 链接和方法性能

转载 作者:行者123 更新时间:2023-12-04 15:57:29 26 4
gpt4 key购买 nike

我们使用 HATEOAS 取得了很好的效果,但是我们一直在关注性能,并且从链接的构建中得到了非常糟糕的结果,即看起来像这样的代码

resource.add(linkTo(methodOn(SomeController.class).findAll())).withSelfRel());

结果(我不关心大小,但无论如何都记录在下面)
Enabled links - ~438ms - 201 kb
Disable links - ~193ms - 84.6 kb

大小是由于我们为每个资源提供了 8 个链接,所以我们预计大小,但速度不会减慢。

大约 232 毫秒用于构建链接,每个我返回的对象大约 2 毫秒(这个特定测试中的 100 个对象)

有没有办法加快这个速度?我们能否为 toResources 中的所有请求预先获取 URI?例如调用,然后在 toResource 中对其进行调味?

最佳答案

我查看了 linkTo(methodOn()) 周围的代码它看起来像很多 AOP 魔法。每次为目标接口(interface)调用 methodOn 时都会生成一个代理。

我的感觉是,当您想避免硬编码 URI 时,这非常适合测试。 EntityLinks提供了一种更有效的替代方案。但是没有ControllerLinkBuilder强大.

另一种方法是将 Helper 类与 EntityLinks 结合使用。 . spring-restbucks项目包含一个很好的例子 - PaymentLinks class .

但老实说 - 很难与 ControllerLinkBuiler 提供的便利性竞争。

编辑:请看我的回答here更详细地比较链接构建器的性能。

关于HATEOAS 链接和方法性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27058734/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com