单片或微服务概念

时间:2017-06-06 15:30:08

标签: django microservices

我有一个非常大的django项目,其中包含许多使用django作为后端框架的功能。我的项目允许用户同时使用网站和iOS应用程序。

我正在研究使用单片应用程序(目前使用单片机)和微服务,我看了video,但有一部分真的让我失望。在凌晨1点05分,他在改变微服务之前预览了他的“单片”应用程序,这对我来说看起来像是一个带有许多不同应用程序的单个项目。

1)这些技术上只是文件夹而不是应用程序吗?这些(我认为他称之为文件夹)都有一个models.py和views.py,而且大多数都有一个admin.py。

2)是什么让它成为一个单一的应用程序?是不是因为他不是简单地在终端中使用django-admin startapp来创建这些'文件夹'?

3)或者是微服务连接多个项目而不是单个项目中的多个应用程序?

我最大的困惑在于视频中预览的项目,因为在此之前我认为我对这些概念有很好的把握。我只是想改为微服务,在视频中的这一部分后我不确定我甚至不知道单片应用是什么。

2 个答案:

答案 0 :(得分:2)

这只是术语的混合。

在单一应用程序与微服务的上下文中,“应用程序”指的是Web应用程序,或者在这种情况下更具体地指WSGI应用程序。 Django项目通常部署为WSGI应用程序。因此,单个应用程序将是一个巨大的Django项目的部署,而微服务将是多个较小的Django项目,这些项目是单独部署的。

“Monolithic app”有时可用于指代Django应用程序,即INSTALLED_APPS中的python模块。但是,在这种情况下,你不会谈论微服务。

答案 1 :(得分:1)

整体服务和微服务之间的主要区别在于它们的部署方式。 monolith是一个必须全部或全部部署的大型应用程序。微服务是许多“应用程序”,它们共同实现其目的,每个都可以单独部署。通常,整体块更难以部署,并且涉及更多风险,因为如果它们部署得不好,整个系统可能会崩溃。对于微服务,每个只处理业务处理的一部分,所以理论上,如果一个部署严重,只有部分应用程序出现故障。