我实际上正在研究微服务,但我遇到了一个问题。
语境
我正在开发两个微服务:
- 用户管理,基于 Spring,带有 MySQL 数据库
- 规划管理,基于 ASP.NET 的 SQL Server 数据库。此服务的唯一访问点是列出一些 RESTFUL 端点的 API,例如
/planning/{day}/{userId} or /planning/{startDate}/{endDate}/{idUser}
- 计费管理,基于 MongoDB 的 Node.Js。
问题
我该怎么做才能只允许通过用户服务访问计划信息而不耦合这两个服务?知道以后可以从其他地方访问计划服务,但不是现在。
如何从 MySQL 数据库中的用户对应的计费服务中访问计费信息?我知道微服务没有耦合,这一点让我很生气,因为它必须以某种方式耦合,不是吗?就像
idUser
在计费中引用?否则,我怎么知道我应该从我的 API 中公开哪些账单?更准确地说,微服务如何在它们之间进行通信,而不是耦合?如何在不将身份验证请求从其他服务复制到身份验证服务的情况下创建身份验证?