java - 在面向服务的架构中何时使用 Web api 而不是依赖注入(inject)

标签 java api dependency-injection soa asp.net-web-api

在一个项目中,我对每个请求消息都有不同的处理器,每个处理器都可以根据配置启用或禁用。我有两种选择,一种是在我的应用程序中使用每个处理器的 jar 库并使用其类,另一种选择是使每个处理器像一个独立的 Web api 一样获取和返回 json 对象,并以这种方式这些处理器之间的通信将基于 Web API,而不是使用 jar 库。 您认为这些选项中哪一个更好,以及我在做出这样的决定时需要考虑什么。 谢谢您

最佳答案

取决于服务是什么,但总的来说......

  • 使用该 jar 可以节省客户端和新服务之间的网络跃点
  • 相反,如果 jar 占用了您的大量资源,则将其作为单独的服务放在不同的计算机上可能会提高性能
  • jar 文件作为项目依赖项很容易管理,而 api 服务可能会涉及更复杂的发布过程
  • 如果您管理 jar 文件,您可能会倾向于更紧密地耦合代码,因为您可以控制它。拥有 API 在某种程度上会插入您编写更简洁的代码

我认为这实际上取决于你的 jar 正在做什么,以及什么对你打包在自己的 jar 中的服务最有意义。

关于java - 在面向服务的架构中何时使用 Web api 而不是依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25632410/

相关文章:

r - 如何使用 SonarQube API 正确地将报告上传到 SonarQube

spring - 如何衡量API调用的响应时间?

java - Intellij IDEA 检查样式

java - 如何找到2位数字的颠倒

java - 上采样PCM音频:从6 kHz到8kHz

javascript - 保护我将在客户端使用的 REST 服务不被他人使用

java - 如何为 Java 7 重写此代码

java - Guice log4j 自定义注入(inject)不支持在构造函数内进行日志记录

c# - 用简单的注入(inject)器替换 Ninject

java - 在 Java EE 和 CDI 中,根据数据库中存储的配置值选择要注入(inject)的实现是一个好习惯吗?