API和微服务之间的真正区别是什么?

fm4*_*403 13 architecture api rest microservices

我正在学习微服务,我不明白创建REST API和创建微服务之间的真正区别是什么.我在Go工作,但我的问题适用于所有语言.

Lio*_*-On 12

微服务方法是将您的系统("一堆代码")分解为许多小型服务,每个服务通常都有自己的:

  • 明确与业务相关的责任
  • 运行过程
  • 数据库
  • 代码版本控制(例如git)存储库
  • API(其他服务/客户将如何联系微服务的协议)
  • UI

服务本身保持较小,以便您的系统增长,有更多的服务 - 而不是更大的服务.

微服务可以使用REST,RPC或任何其他方法相互通信,因此REST或API实际上与微服务主题正交...

参考:什么是API?请用英文.


Lec*_*dal 7

API = 应用程序编程接口

微服务= 架构

简而言之 - 微服务应该公开一个定义良好的API.微服务是您构建解决方案的方式,API是您的消费者所看到的.您可以在后端公开没有微服务的API(实际上,大多数非训练场景都不需要微服务).

在决定使用微服务之前,您可能需要阅读http://samnewman.io/books/building_microservices/(除非这是出于培训目的).