关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。
想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。
7年前关闭。
Improve this question
在异构环境中打包和部署服务器端 java 软件 1) 2) 的现代替代方案是什么?
我找不到很多关于该主题的连贯或最新信息,但我有一些想法。我会开始
war
文件并制作您自己的配置和部署脚本,例如,使用 izpack , ant scripts , cargo或类似的东西。war
文件到 ear
(企业文件)文件war
文件可以从一个可执行文件提供。 第一个选项长期以来一直是我的引用方法,但需要大量的配置和安装脚本,这两者在不同的环境(例如 Linux、Windows)上会有所不同。
有哪些现代替代方案可以让打包和部署更容易?
1) 想象一个 SOA 之类的设置,包括微服务、RESTful 通信等。
2) 考虑到这一点,让我们排除
PaaS
Cloudbees、cloudfoundy 等提供商。他们应该有自己的主题。
最佳答案
我推荐阅读 The Twelve-Factor App文档,灵感来自 Martin Fowler 的《企业应用程序架构模式和重构》书籍。它提出以下建议:
还有关于 Microservices 的文章由 James Lewis 和 Martin Fowler 撰写,其中陈述了上面列举的一些想法。
关于打包和部署,后一篇文章的建议是:
应用程序(及其微服务)应该作为可以独立替换、升级和部署的进程外组件(而不是进程内库)来实现。组件通过使用显式远程调用机制提供更显式的组件接口(interface)。
每个组件都应围绕业务能力组织,针对特定业务领域,采用软件的道路堆栈实现,包括用户界面、持久存储和任何外部协作。这种方法还允许跨团队项目在同一组件上协同工作(并在其整个生命周期内拥有产品)。
从微服务构建的应用程序应该使用简单的 RESTish 协议(protocol)进行编排。两个最常用的协议(protocol)是带有资源 API 的 HTTP 请求-响应,以及通过哑总线(例如 RabbitMQ 或 ZeroMQ )的轻量级消息传递。
使用 Continuous Delivery 自动化可以降低构建、部署和操作微服务的操作复杂性或者它的前身,Continuous Integration .
关于java - 打包和部署企业应用程序的现代替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25181780/