对于 Jhipster Monolith 应用程序,有状态方法比无状态方法有什么好处?

What benefits has a Stateful over a Stateless approach for a Jhipster Monolith App?

我正在阅读 Jhipster 中的有状态和无状态应用程序,在我看来,对于单体应用程序,JWT(无状态应用程序)更轻、更快、更容易,所以它看起来是一种更好的方法,但我会想知道在单体应用程序上使用有状态方法是否有任何好处(以及为什么)。

谢谢

安全 http-only cookie 与在浏览器中的 LocalStorage 和 SessionStorage 中存储令牌相比提高了安全性。

只要您在 Session 中存储有限数量的对象,有状态也不是真正的可伸缩性问题:通常是与安全相关的对象并避免业务逻辑对象。

martin fowler 介绍了一种称为 monolith first 的范例,这意味着您使用单体应用程序,直到您的业务需要拆分为 micro-services,然后逐步将架构更改为 micro-service。如果你有一个整体应用程序,你可以使用有状态的方法,然后你的唯一实例将一些数据保存在内存中它自己的包中。但是当你需要水平扩展你的应用程序(你的单体应用程序的多个实例)时,你必须是无状态的,这很容易通过使用数据库作为状态持有者或一些 key/value 存储如 Redis 或 Memcached 来改变。