什么是微服务?
2014年3月,Martin Fowler和James Lewis联合发表《Microservices》一文,正式定义了微服务架构风格:一组小型服务,每个服务运行在独立进程中,服务间通过轻量级机制通信,围绕业务能力构建。
一、微服务 vs SOA
很多人混淆这两个概念。SOA是粗粒度的、企业级的,通常依赖ESB总线;微服务是细粒度的、去中心化的,服务独立部署独立扩展。2014年的企业级SOA实施往往非常笨重,微服务正是对这种笨重的反叛。
二、服务怎么拆?
拆分原则:
- 按业务领域拆分,不是按技术层拆分
- 每个服务有自己的数据存储,不共享数据库
- 服务间通过API通信,不走数据库直连
- 先拆最独立、变化最频繁的模块
三、分布式的代价
微服务不是银弹。拆成多个服务后,原来的本地方法调用变成了网络调用:网络延迟、分布式事务、服务发现、链路追踪,这些问题在单体时代都不存在。2014年我们给客户的建议是:如果团队不超过20人,先把单体设计好,别急着上微服务。
四、我们的实践
2014年我们开始在新的电商项目中试点微服务:用户服务、商品服务、订单服务独立部署。运维复杂度确实上升了,但团队独立迭代的效率明显提升。这个经验在后续几年成为我们服务中大型客户的标准架构方案。
本文关键词:微服务,架构设计,SOA,分布式系统
相关推荐
技术干货 · 2026-07-22
端侧小模型与云端大模型协同架构设计
技术干货 · 2026-05-20
AIOps全面普及:2026年企业智能运维落地全景
技术干货 · 2026-05-12