microservices - 将多个微服务合并到一个单体中的缺点是什么?
问题描述
我可以看到维护许多功能不相互独立的微服务所花费的时间。客户端、队列、路由器……很多东西可能并不完全满足概念上简单项目的需求。将多个微服务合并到一个单体中的缺点是什么?如果项目本身是其大多数微服务的唯一消费者,我认为对大型应用程序进行分区只是在浪费时间,以便在不适合的场景中遵循所谓的良好实践。
解决方案
微服务提供了一组指导方针,可帮助您构建可轻松扩展的应用程序,这些应用程序更可用,并允许您的团队真正快速地进行更改。话虽如此,它并没有真正关闭单体应用程序或您在构建东西时想要遵循的任何其他准则。
在某些情况下,构建单体应用确实是更好的选择。假设您从一些新事物开始,并且您的领域知识并不好。将您的应用程序分解为服务将变得非常困难。需要对领域有深入的了解才能将服务分成有效的更小的独立块。
第二个可能是你正在做一个 POC 或 MVP(计划试水)然后也许你可以把所有东西都构建成一个整体。
使用微服务,就像我说的那样,您可以获得规模、可用性、可维护性和做出更改的速度。将会有一些项目,这些并不是真正的问题,如果不是,你可以远离它。
最后,对于微服务,您需要拥有可靠的开发运维。你需要有 CI/CD 管道,你需要有监控,集中日志等,因为相信我,你需要它来调试东西。这确实是一笔巨大的投资,您应该考虑一下您正在从事什么以及您从事什么。你不应该仅仅因为其他人都在使用它。
推荐阅读
- c# - 从 azure devops 服务器下载文件将错误数据写入文件
- python - 为什么有时在 PowerShell(以及命令提示符)中使用单引号将命令括起来时不起作用?
- python - 从列表中查找具有特定单词的列
- javascript - 用其他文本替换部分字符串?
- c++ - 将excel文件读入struct c++
- javascript - Tensorflow.js 神经网络中的反向传播
- html - 我怎样才能使这个布局响应?
- firebase - Firebase 身份验证用户信息流
- javascript - 我的 JavaScript 代码在使用 000webhost 托管的网站中无法正常工作
- reactjs - 在 create-react-app 中导入 src 之外的 react 组件文件会出现错误 对实验语法“jsx”的支持当前未启用 (9:9)