【发布时间】:2020-02-12 14:32:44
【问题描述】:
我有一个使用 3 个微服务的小型 Web 应用程序。 HomeApp 是用 Flask 编写的,提供主页和登录页面。 WebApp 为用户资料和订单/产品提供服务。最后一个是mysql数据库。我已经将它们 docker 化并使用 docker-compose 同时运行它们。我试图找出一种将用户从 HomeApp 重定向到 Flask 内的 WebApp 的方法。是否可以通过简单地使用 docker-compose 创建的服务名称来做到这一点,或者我需要一些代理,如 nginx 或 envoy? 这就是我的想法: 主页应用:
def login():
web = os.getenv['web']
if request.method == "POST":
username = request.form.get("username")
password = request.form.get("password")
usernamedata = db.execute("SELECT username FROM users WHERE username=:username",{"username": username}).fetchone()
passworddata = db.execute("SELECT password FROM users WHERE username=:username",{"username": username}).fetchone()
if usernamedata == None:
render_template('login.html')
else:
for password_data in passworddata:
if sha256_crypt.verify(password, password_data):
return redirect(web + "/user?=" + username)
这是我的 docker-compose:
version: '3'
services:
web:
image: go_test
depends_on:
- mysql
ports:
- "80:80"
mysql:
image: mysql_db
ports:
- "3306:3306"
flask:
image: flask_app
ports:
- "8080:8080"
web 是用 Golang 编写的 WebApp 服务。它会按照我想要的方式工作,还是应该在服务之间放置一个代理?
【问题讨论】:
标签: python flask proxy docker-compose microservices