首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JBOSS的微服务

使用JBOSS的微服务
EN

Stack Overflow用户
提问于 2016-02-17 03:42:39
回答 3查看 4.6K关注 0票数 4

我是Jboss的新手,想知道微服务架构是否是JBOSS的正确选择。我不能更改应用服务器,因为它是由客户端架构师决定的,我别无选择。想知道我们是否可以使用底层的JBOSS应用服务器来开发微服务。

我知道Spring boot带有嵌入式tomcat容器,这使得它可以灵活地停止和启动,部署单独的服务,而不会影响其他服务。然而,该架构是否也适用于JBoss。

请提个建议。

谢谢,

EN

回答 3

Stack Overflow用户

发布于 2016-02-17 14:53:16

根据微服务的定义,那么在概念上是肯定的。微服务是一个独立的服务单元,它可以独立地部署、更新和取消部署,而不会影响应用程序的任何不相关部分。因此,这意味着有多个MS的JBoss实例,您的应用程序通过某种网关或任何其他机制调用它们,这取决于您的用例。如果您计划在同一个JBoss实例中部署所有MS,那么它就违背了MS的目的。鉴于此,JBoss不是MS部署的正确选择,因为它只会使您的MS部署基础架构变得相当繁重。

根据客户的需求,您可以将webapp保留在JBoss中,并单独部署MS容器。

票数 2
EN

Stack Overflow用户

发布于 2016-05-25 08:29:48

这取决于您希望从微服务中获得什么。

我所在组织的一些开发人员查看了Spring Boot,但得出的结论是,最好将其作为独立的容器运行,而不是在JBoss中运行,否则您实际上会有两个容器框架竞争(SB和JBoss)以及一系列相关的问题。

在JBoss中部署微服务不会给你带来像Docker这样的真正容器系统那样的灵活性。使用Docker,您可以为您的微服务创建独立的包,其中包含所有代码、系统工具、运行时环境等。包的大小可以根据需要而定。另一方面,JBoss是一个运行单个JVM的大型容器,旨在容纳多个应用程序。隔离级别不同,将JBoss作为单个微服务的容器效率不高,因此您必须适当调整大小,然后部署到实例以利用其可用的资源。

如果您将微服务视为对服务生命周期管理(部署、版本控制、弃用等)进行更好控制的一种方式,与Netflix或LinkedIn那样的自动化、web规模的组件部署模型不同,您可以使用JBoss充分做到这一点。

实际上,我希望沿着这些思路做一些事情。它不会是真正的微服务,而是通过打包和部署单独的、适当版本的API,而不是单一的应用程序,并遵循微服务开发的大多数其他原则(组件化、业务功能焦点、无状态等)。我们希望能够更好地管理我们的API并从中受益。

我们的应用程序接口都在应用程序接口网关和负载均衡器后面,因此我们可以选择如何在JBoss实例上分布微服务,并根据需要平衡资源使用。请注意,我们的组织相对较小,具有相对较低和可预测的流量,因此这种方法应该可以很好地工作。然而,您的需求可能有所不同。

票数 1
EN

Stack Overflow用户

发布于 2017-05-30 23:34:17

实际上,我开发了一个可行性研究来调查您提到的解决方案。我的结论是,在JBoss平台中使用微服务原则是完全可行的。

我使用JBoss \ Spring Boot \ Netflix的组合创建了成功的微服务堆栈,我个人这样做是为了找到一个解决事务问题(多个微服务协作)和由于过高的网络通信和序列化成本而导致的扇出问题的解决方案。

我还写了一个关于这个主题的博客,如果你愿意,你可以在那里找到更多细节,这是链接。

Micro Services – Fan Out, Transaction Problems and Solutions with Spring Boot/JBoss and Netflix Eureka

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35441660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档