跨负载均衡器的 ItextSharp 实现

ItextSharp implementation across load balancer

我们正在评估用于生成 pdf 文档的 ITextSharp(现在称为 IText)。这将在我们的网站中使用,这些网站将通过多台服务器之间的负载平衡解决方案发布。

根据 Itext,在我们的负载平衡配置中,这将需要每台服务器(我们不是开源的)的生产许可证,以及 uat 和开发人员许可证。这显然是一笔不小的投资。

有人可以推荐任何替代方案来降低成本吗?

此外,如果我们要使用其他产品,是否可以采用一种模式来最大程度地减少现有网站原型的迁移工作?

您可以稍微更改一下架构并拥有专用的 PDF 生成服务器。然后,您需要将您的请求归结为可以在服务器之间发送的内容。根据您的目标,这可能是相对简单的内容,例如用户 ID 和报告名称,也可能是复杂的内容(文本布局,那里的图像)。

就远离商业 iText 而言,有两种选择。

1) 使用较旧的 MPL iTextSharp。它不会拥有所有最新的功能和错误修复,但它的价格是无与伦比的。

2) "wrapper" 设计模式。构建一个相对通用的界面,并将该界面的当前实现置于 iText 之上。如果您稍后需要将其换出,您正在重建胶水代码,而不是整个应用程序。