java - 模块和微服务之间的区别

标签 java module architecture microservices

This abstract给出了微服务和 API 之间的区别:

A microservice exposes it's interface, what it can do, by means of an API. The API is the list of all endpoints that a microservice respond when it receives a command/query. The microservice contains the API and other internal+hidden things that it uses to respond to client's requests.

我在 Java 中使用过模块和微服务,但是否有更好的方法来区分模块和微服务之间的差异?

根据我的经验,导入了多个模块作为微服务项目的一部分。微服务是某种具有公开 RESTful 端点的附加功能的模块吗?模块与微服务有何显着区别,反之亦然?

我们是否可以就所讨论的主题进行更多讨论以澄清潜在的混淆?

为了更加清晰,我添加了一些视觉辅助:

An example of a microservice that utilises various modules (Source: Author)

如果可以,请反驳,并提供与您使用微服务和模块的经验相关的可靠引用。

最佳答案

微服务提供 API(REST 或 No Rest)。

微服务代码可以以某种更大的项目可以将其用作模块的方式编写。

当我们选择它是微服务而不是模块时:

  1. 我们将它与使用它的系统分离
  2. 此微服务可以独立扩展,即,为其目的使用特定的数据库
  3. 使用任何开发语言(最适合其用途)- 如果将其用作模块,则必须使用编写大部分代码库和模块的语言编写
  4. 处理其数据补丁

关于java - 模块和微服务之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53497953/

相关文章:

java - ProGuard 警告 : there were 7 unresolved references to program class members

python - 需要了解 Python 信号和模块

powershell - 管理 PowerShell 模块之间的共享代码

java - 我如何访问在单独的 Web 应用程序中实现远程接口(interface)的 EJB?

python - 构建 ifttt 克隆

java - 由于多个可能的 bean,Spring Boot Autowiring 泛型失败

java - 如何从 angularjs 调用 Java Controller 类

java - 架构 Java EE ?许多资源 : database, xml

java - 使用 AspectJ 断言包调用方向

java - 如何确定 Unicode 字符的宽度