我用Django创建我的API休息,但我不明白如何将API转换为微服务,我不明白这些之间的真正区别。 我看到像微服务这样的API,但我不知道在微服务中转换整个API,我需要创建微型Web服务器吗?
请,我无法理解微服务,我需要理解这一点。
答案 0 :(得分:4)
微服务通过API公开它的界面,它可以做什么。 API是微服务在收到命令/查询时响应的所有端点的列表。微服务包含API 和其他内部+隐藏的东西,用于响应客户的请求。
API是客户在查看微服务时看到的所有内容,尽管微服务比这更大。微服务隐藏其内部结构,它的技术堆栈,它的数据库类型(sql
,nosql
- 它可以是任何东西);微服务可以从sql
移动到nosql
,从python
移动到php
,但保持API不变。
答案 1 :(得分:0)
API -一种通过Web公开功能的方法。想象一下,您已经在.Net中开发了一些功能,但是没有以其他语言开发某些软件。您会再次开发相同的功能吗?不能。因此,只需通过Web服务公开即可。Web服务不与任何一种操作系统或编程语言绑定。例如,使用Java开发的应用程序可以与使用C#,Android等开发的应用程序进行通信,反之亦然。
微服务-它们用于将复杂的软件分解为可单独部署,可测试,松耦合的子模块的小块。微服务旨在应对大型应用程序的故障和故障。由于多个唯一服务正在一起通信,因此可能会发生特定服务失败的情况,但是整个较大的应用程序仍不受单个模块失败的影响。
API与微服务-现在,我们已经将复杂的软件分为松散耦合的子模块。这些子模块通过API相互通信。因此,微服务和API可以解决不同的问题,但可以协同工作!
更多详细信息:
答案 2 :(得分:0)
微服务是自主的RESTful服务。这意味着每台服务器上只有一项服务。在Spring Boot中,当您引导RESTful服务时,它将获取tomcat(它是嵌入式tomcat)的实例并在其上运行您的服务。因此,如果服务器上有多个服务,则它不是微服务,因为这些服务不是自治的。