Pros/cons to various Java packaging strategies
假设我正在为一些前端 GUI (Swing) 工具编写 Java 后端。这个后端将包含许多不同类型的用于中间件/业务逻辑的 EJB,以及一些过滤的 Web 服务
打包应用程序对安全性没有内在影响。暴露的服务数量、单个服务器、请求端点等以及服务访问需要保护的资源的方式是安全性关注的问题,而不是打包方式。
也就是说,您在这里看到的主要问题是单体与模块化。一旦您了解这是核心问题,所有关于权衡的现有文献都是相关的。
具体来说,您将看到:
可扩展性 - 许多小块的缩放更灵活,因为您可以自己缩放每个块
复杂性 - 将小型服务连接在一起可以让您降低单个服务的复杂性,因为它们需要担心的事情更少
- 感谢 cdeszaq - 所以您是说现代实践正朝着更小、模块化、基于"组件"的开发方向发展?如果是这样,是否可以说您将成为 Many EARs/Many App Servers 的支持者?再次感谢!
-
基于组件的开发绝对是当前的最爱。许多 EAR 都与此同步。这些模块拆分的应用服务器数量是规模问题,而不是打包问题。首先将所有应用程序放在一台服务器上,然后根据负载需要将它们分开。在需要之前不要优化基础架构。
-
最后两句话对我来说将一切联系在一起。很好的答案,和很好的建议。谢谢!