itext - 跨负载均衡器的 ItextSharp 实现
问题描述
我们正在评估 ITextSharp(现在称为 IText)以生成 pdf 文档。这将在我们的网站中使用,这些网站将通过多个服务器之间的负载平衡解决方案发布。
根据 Itext 的说法,在我们的负载平衡配置中,这将需要每台服务器的生产许可证(我们不是开源的),以及 uat 和开发人员许可证。这显然是一笔可观的投资。
谁能推荐任何替代方案来降低成本?
此外,如果我们要使用其他产品,我们是否可以采用一种模式来最大限度地减少现有网站原型的迁移工作?
解决方案
您可以稍微更改一下您的架构并拥有一个专用的 PDF 生成服务器。然后,您需要将您的请求归结为可以在服务器之间发送的内容。根据您的目标,这可能是相对简单的东西,例如用户 ID 和报告名称,也可能是复杂的(文本布局,那里的图像)。
至于与商业 iText 保持距离,有两种选择。
1) 使用较旧的 MPL iTextSharp。它不会拥有所有最新的功能和错误修复,但很难超越价格。
2)“包装器”设计模式。构建一个相对通用的接口,并将该接口的当前实现置于 iText 之上。如果您稍后需要将其换出,您正在重建胶水代码,而不是您的整个应用程序。
推荐阅读
- python - 为什么 pypy 的 fib 函数运行速度比 python 慢
- tsql - 获取值 WHERE 帐号在 SQL 或 Qlik 视图中具有模式
- linux - 使用 `wmctrl` 和 `skip_taskbar 从 Alt-Tab 切换器中删除应用程序适用于 Firefox 和 Google Chrome,但不适用于 CopyQ
- sql-server - Windows 服务无法连接到 SQL Server Developer Edition
- arm - big-endian ARM 使用哪个位编号:“MSB 0”或“LSB 0”?
- c++ - C++中断可变参数模板参数循环
- c# - 无法从 ApiDescription 访问属性 ControllerTypeInfo
- java - 将十六进制字符串 #b2c2d6 转换为 Int,如 0x2c2d6
- c# - Crystal 报告在显示一些报告后在 api url 上返回 404
- express - 如何在 Express.js 中接收 Postman 二进制文件?