带烧瓶的微服务

时间:2015-02-20 17:50:37

标签: python flask docker soa microservices

我们正在构建一个非常大的系统,它将公开几个不同的REST API,包含Mongodb数据库,Redis缓存层和后端计算库。目前我们正在使用Flask-Restful来构建我们的API,但由于各种原因,我们还需要运行另一个提供数据库资源的Flask实例,以及另一个面向前端站点的实例。蓝图并不是真正的解决方案,因为我们可能希望在ec2中的不同机器上解耦这些不同的服务。

我们计划使用Apache + WSGI作为生产服务器,但每个烧瓶服务器都需要一个独特的端口,管理所有这些微服务是一场噩梦。我已经听说过网关API的概念,但我无法真正找到关于如何在实践中实现一个或如何实现的文档。

微服务/ SOA这些天似乎是一个非常大的交易,在某种意义上,我们的架构是围绕这个设计的。但我在实践中找不到有关如何做到这一点的任何信息,特别是在我们的具体设置中。管理所有这些服务器似乎是一个潜在的噩梦。感觉好像使用Docker可以解决我们的大部分麻烦,但我真的很想知道人们在容器之前做了什么。

TLDR:有很多烧瓶服务器组成我们的微服务架构。不知道如何管理它。

1 个答案:

答案 0 :(得分:2)

您可以查看使用uWSGI in Emperor mode。它是为处理这样​​的情况而构建的。以下是文档的引用:

  

如果您需要在单个服务器或一组服务器上部署大量应用程序,Emperor模式就是故障单。它是一个特殊的uWSGI实例,它将监视特定事件,并将根据需要生成/停止/重新加载实例(称为vassals,由Emperor管理)。

如果您不限于使用mod_wsgi,那么我会看看uWSGI。