将API拆分为微服务

时间:2016-02-03 11:33:58

标签: php web-services api symfony

我对架构有一个疑问。

我们有支持移动设备的api。现在我们实施了一些新功能,例如用户消息。 因为没有api使用一个数据库,我想为消息分别设置api和数据库。像微服务一样。 api.somedomain.com,messages.somedomain.com等。

通过访问密钥实现访问来保护主API。在微服务数据库中,我需要来自主数据库的一些数据,如用户信息,个人资料信息等。

也许有人有想法如何实施这样的机制?

也许使用slave = database进行主从复制,我需要来自主数据库的信息?

1 个答案:

答案 0 :(得分:0)

也许您可以在主API中创建一些端点以获取所需的信息。在您的新微服务中,您可以使用此API。我认为这是一个漂亮的设计,让你的应用程序更加不可知和可扩展

也许将每个数据库作为一个独立的实体管理器进行映射。

您可以将新服务映射为新容器服务和新控制器。 Symfony和Doctrine允许您非常轻松地访问不同的实体管理器。

复制是一种很好的资源,但有时它很麻烦。维护副本集需要额外的努力和硬件。

您应该评估数据库是否太大,或者由于微服务使用主数据库而导致性能问题。