跨不同微服务的数据验证
我已经阅读了很多关于它的主题,但仍然没有找到更好的方法。
我有一个.一个可能有很多.用户和帖子是不同的微服务。我正在使用Spring Boot。User
User
Posts
当前端调用我的微服务向 发送请求时,我需要检查我的数据库中是否存在给定的 (1)。如果不是,则引发异常,告知前端用户不存在。如果是,则将给定的请求正文作为 插入。Posts
POST
/posts/user/1
userId
Users
Post
问题是:我应该如何在后端检查此信息?我们不想让这个责任在前端,因为javascript是客户端的,恶意用户可以绕过这个检查。
选项:
- 微服务之间的 REST 通信。(发布微服务调用用户微服务,询问给定的ID是否存在于他这边)
- 授予帖子微服务对用户微服务数据库的访问权限
我知道它们之间的通信将产生耦合,但我不确定授予Posts访问用户数据库的权限是否是最佳选择。
请随时建议任何选项。