【问题标题】:What is the best way for Django microservices intercommunication?Django微服务互通的最佳方式是什么?
【发布时间】:2020-03-04 12:50:30
【问题描述】:

我有一个 django 微服务:M1,管理页面有字段:

[指向 field11 的链接] | [链接到字段 21]

我有另一个 django 微服务:M2,管理页面有字段:

field11 |字段12 |字段13 |字段14 |字段 15

我有另一个 django 微服务:M3,管理页面有字段:

field21 |字段22 |字段23 |字段24 |字段 25

我的要求是将 M2 和 M3 的所有字段放入 M1 的管理页面。 我有什么方法可以做到这一点?我不想在 M1 的模型中添加更多字段。

一种方法是进行服务间通信或进行 GET 调用。什么会更可行?

【问题讨论】:

  • 我不熟悉 Django,但在较高级别上,客户端(“M1 管理页面”)会调用 API 网关,该网关根据需要查询微服务并将来自多个源的数据映射到单个回复。我不确定 Django 中的等价物是什么。

标签: django django-models django-admin microservices


【解决方案1】:

你可以试试这样的,

class M2(models.Model):
    field = models.CharField(max_length=100)


class M3(models.Model):
    field = models.CharField(max_length=100)


class M1(M2, M3):
    field = models.CharField(max_length=100)

所以将M2和M3的字段放入M1,希望对你有帮助,如果还有什么请告诉我。+

【讨论】:

  • 模型位于 3 个不同的 django 应用程序(/微服务)中。我认为这种情况不应该这样做
  • 如果在 3 个不同的应用程序中是这样,您可以将其导入文件并尝试使用抽象/代理模型
猜你喜欢
  • 2010-09-06
  • 1970-01-01
  • 2015-11-17
  • 1970-01-01
  • 2020-01-15
  • 1970-01-01
  • 1970-01-01
  • 2016-09-04
  • 2021-06-11
相关资源
最近更新 更多