跨负载均衡器的 ItextSharp 实现
ItextSharp implementation across load balancer
我们正在评估用于生成 pdf 文档的 ITextSharp(现在称为 IText)。这将在我们的网站中使用,这些网站将通过多台服务器之间的负载平衡解决方案发布。
根据 Itext,在我们的负载平衡配置中,这将需要每台服务器(我们不是开源的)的生产许可证,以及 uat 和开发人员许可证。这显然是一笔不小的投资。
有人可以推荐任何替代方案来降低成本吗?
此外,如果我们要使用其他产品,是否可以采用一种模式来最大程度地减少现有网站原型的迁移工作?
您可以稍微更改一下架构并拥有专用的 PDF 生成服务器。然后,您需要将您的请求归结为可以在服务器之间发送的内容。根据您的目标,这可能是相对简单的内容,例如用户 ID 和报告名称,也可能是复杂的内容(文本布局,那里的图像)。
就远离商业 iText 而言,有两种选择。
1) 使用较旧的 MPL iTextSharp。它不会拥有所有最新的功能和错误修复,但它的价格是无与伦比的。
2) "wrapper" 设计模式。构建一个相对通用的界面,并将该界面的当前实现置于 iText 之上。如果您稍后需要将其换出,您正在重建胶水代码,而不是整个应用程序。
我们正在评估用于生成 pdf 文档的 ITextSharp(现在称为 IText)。这将在我们的网站中使用,这些网站将通过多台服务器之间的负载平衡解决方案发布。
根据 Itext,在我们的负载平衡配置中,这将需要每台服务器(我们不是开源的)的生产许可证,以及 uat 和开发人员许可证。这显然是一笔不小的投资。
有人可以推荐任何替代方案来降低成本吗?
此外,如果我们要使用其他产品,是否可以采用一种模式来最大程度地减少现有网站原型的迁移工作?
您可以稍微更改一下架构并拥有专用的 PDF 生成服务器。然后,您需要将您的请求归结为可以在服务器之间发送的内容。根据您的目标,这可能是相对简单的内容,例如用户 ID 和报告名称,也可能是复杂的内容(文本布局,那里的图像)。
就远离商业 iText 而言,有两种选择。
1) 使用较旧的 MPL iTextSharp。它不会拥有所有最新的功能和错误修复,但它的价格是无与伦比的。
2) "wrapper" 设计模式。构建一个相对通用的界面,并将该界面的当前实现置于 iText 之上。如果您稍后需要将其换出,您正在重建胶水代码,而不是整个应用程序。