【发布时间】:2016-03-16 03:03:11
【问题描述】:
背景:我想制作大量用 Python 编写的微服务(Django、Flask……暂时不重要)供 Intranet 使用。假设将有一个身份验证服务、一个通知服务(电子邮件和/或互联网通信器集成)和某种数据资源服务。
因此,用户通过身份验证(例如获取 JWT)然后点击数据服务来更改某些内容。该更改应触发对通知服务的调用以发送通知。
问题从如何处理开始,我是否应该考虑为我的服务做一种客户?
我现在想到的是制作 Python 包或简单地使用 git 子模块来处理它,如下所示:
拥有和端点data.service.local/api/v1/food 我想(我认为)制作一个“提供者”,让我可以轻松地使用该端点:
class DataServiceProvider(object):
BASE_URL = settings.DATA_SERVICE_URL
def create_food(self, name):
return requests.post(BASE_URL + 'food', {'name': name})
我应该打扰吗?我的目标是让我的几十个其他服务达到这一点(尤其是通知服务),所以我想我应该这样做。但是在哪里存储这些提供程序?在另一个名为{service_name}-client 的存储库之外,并在需要使用它的任何其他服务中使用该包?
感谢任何建议。谢谢。
【问题讨论】:
标签: python dependencies microservices