【问题标题】:Myth over Microservice and Rest API关于微服务和 Rest API 的神话
【发布时间】:2021-05-22 11:44:51
【问题描述】:

我想弄清楚微服务的术语。 参考下图。

所有代表微服务架构

  1. 微服务 - 是否将作为 API 公开的服务引用到通道 [Be it browser / Native app / Host] 甚至是未公开的服务 [ 底层
  • 通用
  • 编排
  • 原子
  1. 根据图表,提到了从编排到原子的链接。 它必须始终是 [REST/ HTTP over call] 还是可以是封装在同一个可运行包中的普通 Java 库方法调用。

所有教程都说/gos 1 Microservice = 1 Rest based service 或任何暴露为控制器的东西被调用 我们可以将库或 DAO 通用服务称为微服务吗?

微服务架构观点

微服务视点 2

比较

【问题讨论】:

    标签: microservices


    【解决方案1】:

    它是否将作为 API 公开的服务引用到通道,甚至是未公开的服务

    微服务是一种服务于业务需求的服务 - 它们是“通过服务实现组件化” - 更大系统的组件,因此它们不需要暴露给外部世界,但是他们可以。

    它必须始终是 REST/HTTP over call,还是可以是打包在同一个可运行包中的普通 Java 库方法调用。

    微服务通过网络进行通信,但不一定是 HTTP / REST,也可以是 Kafka 主题或 gRPC 或其他。重要的部分是它们必须独立部署,例如您可以升级单个微服务,而无需同时更改另一个服务。

    有关最普遍接受的定义,请参阅 Martin Fowler - Microservices - 9 characteristics

    【讨论】:

    • 如上图所示,您的意思是原子核心 [Be it Service Implementation wrapper over a DAO] 可以通过依赖注入调用,仍然可以作为微服务调用,或者有资格作为微服务调用然后如果它将作为 DI [依赖注入] 注入,它只是一个依赖库而不是可部署库
    • 库不是微服务
    • 谢谢 Jonas 你能举出基于实时 Java 的微服务的例子吗?如果一个微服务不会作为端点调用被调用,需要位作为来自其他编排服务的依赖服务你如何捆绑(参考我的例子那些原子或核心)作为服务被提及如果你将依赖服务作为一个 jar 并添加到主调用者服务的锅中。根据您的定义,服务不是微服务
    • 根据示例让我们说 Orchestrated Service 想要与 Atomic Service 对话,而后者又与数据库对话
    猜你喜欢
    • 2020-07-24
    • 2017-12-13
    • 2018-09-01
    • 2020-03-03
    • 2019-10-01
    • 2018-01-06
    • 2019-09-09
    • 2019-04-06
    • 2018-02-24
    相关资源
    最近更新 更多