我们正在开发一个后端项目,我们已经开始转向微服务开发。我们已经有一些服务,其中一个是存储和提取文件的FileService(使用底层的Amazon S3存储)。 FileService还提供文件校验和,身份验证和重试机制,用于跨服务和客户端共享文件。
我们现在正在构建一个新服务,该服务的私有数据的一部分是服务存储并用于其业务逻辑的文件,我们是否应该使用FileService来存储和获取文件或处理在服务内部存储和获取文件。
使用FileService的原因是我们免费获得服务中实现的所有功能(重试,校验和等)。 不使用它的原因是我们希望新服务能够自主工作并使用FileService将新服务绑定到它(它必须处理OAuth2身份验证才能获取/上传文件,它必须在此时部署FileService和AuthService服务已部署等)。
我想知道是否有人在微服务环境中存储私有文件的最佳实践,以及利弊的最佳方法是什么。
答案 0 :(得分:1)
将进程内FileService组件转换为微服务肯定会有优点和缺点。您已经列出了其中的几个,但最重要的是,您必须创建适用于您的业务和域的成本/收益分析矩阵。 没有"最佳实践"接近这里。
费用:
优点:
结论:
如果不与商界人士实际交谈并讨论围绕这种转变的风险,就无法回答这些问题。