主题
面试速答(先看这里)
**一句话结论:**微服务(Microservices)是一种软件架构风格,用于构建复杂的应用程序。
60秒标准回答:
微服务(Microservices)是一种软件架构风格,用于构建复杂的应用程序。它将一个大型的应用程序拆分成一组小型、独立的服务单元,每个服务单元都可以独立部署、运行和扩展。每个微服务都专注于执行一个特定的业务功能,并通过轻量级的通信机制(如HTTP、RPC、MQ等)来相互调用
微服务的目的是有效的拆分应用,实现敏捷开发和部署
比如把一个原来中心化的商城服务,拆分成产品服务、订单服务及用户服务,每一个服务把功能内聚,系统间通过远程调用解耦。实现高内聚低耦合
**答题顺序:**结论 → 原理/机制 → 关键流程 → 场景与取舍 → 易错点
回答主线:
- **要点1:**微服务的目的是有效的拆分应用,实现敏捷开发和部署 。
- **要点2:**比如把一个原来中心化的商城服务,拆分成产品服务、订单服务及用户服务,每一个服务把功能内聚,系统间通过远程调用解耦。
- **要点3:**并且每一个服务都可以独立的提供子服务。
- **要点4:**而且,拆分后的不同的服务可以使用不同的技术栈,因为它们是独立的。
- **要点5:**并且做了服务拆分之后,也能提升迭代速度,至少产品服务的变更不会对订单服务有任何影响。
**记忆锚点:**Microservices → 通过轻量级的通信机制 → HTTP → RPC
追问准备:
- 围绕「Microservices」:底层原理是什么?使用时有哪些边界和常见坑?
- 围绕「通过轻量级的通信机制」:底层原理是什么?使用时有哪些边界和常见坑?
- 围绕「HTTP」:底层原理是什么?使用时有哪些边界和常见坑?
- 如果线上出现异常,你会如何定位、验证并规避?
https://developer.aliyun.com/article/2764(这篇文章写的很好,好几年前是在我司内网看到的,后来在外网也发布了,我最初理解微服务就是通过这篇文章的)
典型回答
微服务(Microservices)是一种软件架构风格,用于构建复杂的应用程序。它将一个大型的应用程序拆分成一组小型、独立的服务单元,每个服务单元都可以独立部署、运行和扩展。每个微服务都专注于执行一个特定的业务功能,并通过轻量级的通信机制(如HTTP、RPC、MQ等)来相互调用。
微服务的目的是有效的拆分应用,实现敏捷开发和部署 。
比如把一个原来中心化的商城服务,拆分成产品服务、订单服务及用户服务,每一个服务把功能内聚,系统间通过远程调用解耦。实现高内聚低耦合。
并且每一个服务都可以独立的提供子服务。并且他们有自己的应用、自己的存储,是独立的,互不影响的。

而且,拆分后的不同的服务可以使用不同的技术栈,因为它们是独立的。这使得团队可以选择最适合其需求的技术来构建服务。
并且做了服务拆分之后,也能提升迭代速度,至少产品服务的变更不会对订单服务有任何影响。大家可以并行开发,快速迭代。