应用扩展与内部服务搭建
1. 微服务架构
构建应用的一种方式是将服务拆分为多个服务,即采用微服务架构。这种方法是创建多个内部服务来执行不同任务,并使用远程过程调用(本质上是 HTTP 请求)从其他服务调用这些功能。这与将完整程序逻辑放在单个容器中的单体服务设计方法形成对比。
将单体服务拆分为多个较小服务有好处也有缺点,因此不建议仅仅为了使用微服务架构而使用它。
- 优点 :
- 每个服务可以使用不同的编程语言。
- 可以独立开发(例如由不同团队开发)。
- 可以独立扩展。
- 缺点 :
- 调试和集成测试更复杂,因为组件增多,需要一种方法来跟踪系统中的请求。
关于是否构建微服务或单体服务,有两种观点:
- David Heinemeier Hansson 认为微服务适用于大型科技公司,大多数小团队使用单体服务更好。因为微服务在某些情况下有优势,但并非总是明确的,尤其是对于小团队来说,其开销不值得。
- James Lewis 和 Martin Fowler 在文章中对微服务提出了深思熟虑且平衡的观点,强调了产品思维,即内部团队专注于构建和管理自己的组件,这种去中心化方法允许团队做出自己的架构决策。
无论是否全面采用微服务,关键是如果有多个服务,可以单独扩展它们。例如,一个主要处理 HTML 和 JSON 请求的 Web 应用,其中一个端点进行实时图形工作,占用更多内存,那么可以创建一个单独的 Deployment 来处理该图形端点,以便单独扩展并隔离它。有两种实现方式:
- 单个前端调用内部服务。
超级会员免费看
订阅专栏 解锁全文
10万+

被折叠的 条评论
为什么被折叠?



