首页 > 解决方案 > 为登录保留连接对象

问题描述

这是一个架构问题,但是,在我的项目中,我开发了 API 接口,其中包含用于连接到 3d 派对 API 的 3d 派对库。我自己的 API 接口被另一个服务(消费者)使用。

原理图,示意图
原理图,示意图

问题是与 3d 方 API 的连接由 Login 对象(显然在 3d 方库中实现)持有,并且每个请求都是通过或传递此 Login 对象进行的。

问题是如何保存/保存这个对象,以免每次都创建新的登录名。它确实实现了序列化,但它内部包含不可序列化的类,所以我必须为此编写一个巨大的包装器。

我也想到了会话,但是对于每个新的登录选项它们应该是唯一的(顺便说一下,有很多用户正在使用登录,而不是一个),而且我不知道如何为每个唯一的登录管理多个唯一的会话和那么如何调用这个特定的会话。

如果有帮助,我正在使用 Spring Boot 编写项目。

更新 我研究了更多的会话解决方案(特别是使用存储在 cookie 中的 Servlet 和别名的多个会话) - 它不适合我,因为应用程序旨在容纳数百个连接,而 cookie 的大小有限。

标签: javaspringrestsessionserialization

解决方案


我已经回到了序列化的想法。结果,我设法序列化了负责连接的登录对象的一部分,然后重新使用它。

如果有人在乎,我已经使用kryo进行序列化


推荐阅读