我对架构有一个疑问。
我们有支持移动设备的api。现在我们实施了一些新功能,例如用户消息。 因为没有api使用一个数据库,我想为消息分别设置api和数据库。像微服务一样。 api.somedomain.com,messages.somedomain.com等。
通过访问密钥实现访问来保护主API。在微服务数据库中,我需要来自主数据库的一些数据,如用户信息,个人资料信息等。
也许有人有想法如何实施这样的机制?
也许使用slave = database进行主从复制,我需要来自主数据库的信息?
答案 0 :(得分:0)
也许您可以在主API中创建一些端点以获取所需的信息。在您的新微服务中,您可以使用此API。我认为这是一个漂亮的设计,让你的应用程序更加不可知和可扩展
也许将每个数据库作为一个独立的实体管理器进行映射。
您可以将新服务映射为新容器服务和新控制器。 Symfony和Doctrine允许您非常轻松地访问不同的实体管理器。
复制是一种很好的资源,但有时它很麻烦。维护副本集需要额外的努力和硬件。
您应该评估数据库是否太大,或者由于微服务使用主数据库而导致性能问题。