所以,我是“单体与微服务”架构辩论的新手,我已经大致了解了其中的大部分内容。根据我有限的理解,我了解到在微服务架构中,每个功能(比如说)都是一个单独的应用程序。现在我需要对 django 实现微服务进行一些澄清。这是我的问题
我应该让每个微服务(即应用程序)完全成为不同的 django 项目,还是应该使每个应用程序(又名微服务)在一个 django 项目中保持隔离(如松散耦合)?
微服务架构只是简单地声明您的每个服务应该彼此独立。
也没有必要在java中创建一个微服务,在python中创建一个微服务,因为它们是不相关的。
所以是的,理想情况下,你的每个微服务都是一个单独的 django 项目。分解此问题的最佳方法,首先列出您的网站或应用程序中的所有可能模块。
然后通过:https://microservices.io/patterns/decomposition/decompose-by-business-capability.html https://microservices.io/patterns/decomposition/decompose-by-subdomain.html
这是您应该如何将模块/域划分为微服务的两种推荐模式。
好吧,您可以在 Django 中使用数据库路由器...这确实可以解决问题...每个应用程序一个wSGI文件与您的NGINX服务器通信
微服务的主要目的是为特定的业务服务,例如你正在运行一个云厨房
,那么Django项目可以在一个主项目下有许多子项目,或者你可以将每个项目
作为单独的服务运行,这取决于你。
服务
现在我们将为每个服务设置 URL,例如
endpoint
一旦我们的应用程序启动,服务负载将不会影响其他服务。