gpt4 book ai didi

xpages - 为集群开发 XPages

转载 作者:行者123 更新时间:2023-12-02 07:15:57 25 4
gpt4 key购买 nike

我即将启动一个新的 XPage 项目,该项目将在全局范围内使用。我有点担心,因为他们担心性能,因此正在考虑将此应用程序与负载均衡器或集群一起使用。我一直在环顾四周,发现作用域变量可能存在问题(例如,用户在一台服务器上启动 session ,然后发送到另一台服务器,某些作用域变量丢失)。我也见过this wonderful article它重点关注性能,但没有真正提及任何有关集群环境的内容。

一点额外的信息:并发用户数不应高于 600,但可能会随着时间的推移而增长,总共约有 3000 个用户。 XPage 应用程序将成为两个数据源(事件数据库及其存档)的门户。

我的问题是:作为开发人员,在开发可能在负载均衡器后面或集群环境中运行的应用程序时,我必须密切注意什么?

感谢您的宝贵时间!

最佳答案

这并不是真正的答案......但我无法将其放入评论中。

我们遇到了非常相似的问题。

我们有一个 xpage SPA(单页应用程序)应用程序,已投入生产 2-3 年,可变用户负载高达 300-400 个并发用户,登录 8 小时 session ,我们有 4 个集群 Domino 服务器, 1 个是运行所有计划作业的“主力”,3 个专用 HTTP 服务器。

我们在 Domino 中使用 SSO,并且有 3 个 HTTP 服务器参与,因此用户只需验证一次就可以访问所有 HTTP 服务器。我们使用反向代理,因此所有用户都会访问 www.ourapp.com,但会被重定向到 servera.ourapp.com、serverb.ourapp.com 等,一旦他们被定向到服务器,rev 代​​理就会发出一个 cookie客户端。这为它们被定向到的任何服务器提供了“粘性” session ,并且只有当它们所在的服务器不可用时,rev proxy 才会将它们移动到不同的服务器。

我们使用“用户”管理的 session bean来存储每个用户的配置,因此如果用户移动服务器,如果用户的bean不存在,则会创建它。但他们的关键点是:由于粘性 session ,只有当我们关闭服务器或服务器出现故障时,用户才会移动。由于我们的应用程序是 SPA,因此许多用户“配置”都存储在客户端,因此如果它们启动到不同的服务器(对于用户来说,它们仍然指向 www.ourapp.com),则不会发生任何真正的变化。

到目前为止,这对我们来说非常有效。

该应用程序也可以通过“离线”外部应用程序访问,它指向 Rev 代理 (www.ourapp.com),但我们最初确实遇到了问题,因为该应用程序没有“粘性”传回 Rev 代理cookie token ,因此 1 台设备向代理发送请求,该请求被路由到服务器 A,然后 1 秒后路由到服务器 B,然后是 A..B..C,各种令人头疼的问题...因为集群可能有几个如果向同一文档发送请求,则不同步秒数...冲突。一旦我们让外部应用程序为每个 session 传回 rev 代​​理 token ,问题就解决了。

我不太明白的一点是:“...XPage 应用程序将成为单个数据库(无副本)和存档数据库(无副本)的门户。”这是否意味着门户将被集群,但用户连接的数据库将不会被集群?

我们的编码与应用程序在一台服务器上的情况没有任何不同,因为用户的 session “粘在”一台服务器上。我们确实需要在所有服务器上持久锁定文档。我们最初使用 native 文档锁定,但 $writers 不集群,所以我们必须实现我们自己的...我们在 doc 上设置一个字段,以便“锁”集群(然后我们还必须实现单个锁存储.. .叹气,可以下次再谈这个)。由于需求,我们必须在 3 个应用数据库中维护近 100 万个文档,我们生成大量审计数据,但我们将其推送到 SQL。

所以我想说这更多的是管理员的头痛(我也是这个项目的管理员,所以在我们的例子中我可以确认这一点!)而不是设计师的头痛。

我也有兴趣听听其他人对此主题的看法。

关于xpages - 为集群开发 XPages,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19790672/

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