gpt4 book ai didi

python - 我有多个 flask 微服务彼此通信,如何配置docker?

转载 作者:行者123 更新时间:2023-12-02 21:23:19 26 4
gpt4 key购买 nike

我有多个 flask 微服务(显然为了保护IP而混淆了)

├── README.md
├── api_starter.py
├── app_api.py
├── service1
│   ├── __init__.py
│   ├── api.py
│   └── service1.py
├── service2
│   ├── __init__.py
│   ├── api.py
│   ├── service2.py
├── dags
│   ├── airflow_pipeline_runner.py
├── service3
│   ├── __init__.py
│   ├── api.py
│   ├── service3.py
├── service4
│   ├── __init__.py
│   ├── api.py
│   └── service4.py
├── service5
│   ├── __init__.py
│   ├── api.py
│   └── service5.py
├── service6
│   ├── __init__.py
│   ├── api.py
│   └── service6.py
├── requirements.txt
└── service7
├── __init__.py
├── api.py
└── service7.py

这些微服务中的每一个都由api_starter运行。这些微服务中的每个彼此通信。 Docker化此应用程序的最佳方法是什么?我是否要为每个微服务提供一个docker文件,然后在目录的根目录中包含一个docker-compose.yml?这些微服务中的每个彼此通信。任何和所有

最佳答案

为了遵守docker的理念并利用微服务架构所提供的所有优点,您应该将每个微服务放在其自己的容器中。

微服务架构的一些优势:

  • 改进的故障隔离
  • 消除了对单一技术堆栈的长期 promise
  • 使新开发者更容易理解其功能
  • 服务
  • 简化升级管理
  • 改进的安全性
  • flex
  • 更容易缩放
  • 易于部署
  • ...

  • 为此,您应该首先为相关容器创建一个用户定义的网络。用户定义的网络具有内部DNS,因此您可以按名称解析同一网络上的其他容器ip。

    然后,您需要将 api_starter拆分为特定于微服务的。

    要执行的其他任务:
  • 为每个微服务指定持久数据路径(如果适用)
  • 指定要公开的网络端口。
  • 关于python - 我有多个 flask 微服务彼此通信,如何配置docker?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42611968/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com