微服务 - 漫画版(下)

简介: 微服务 - 漫画版(下)

image.png

image.png



什么是微服务?微服务(Microservice Architecture)是近几年流行的一种架构思想,关于它的概念很难一言以蔽之。

究竟什么是微服务呢?我们在此引用 ThoughtWorks 公司的首席科学家 Martin Fowler 的一段话:


image.png



In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.


谷歌翻译如下:


简而言之,微服务架构风格是一种将单个应用程序作为一套小型服务开发的方法,每种应用程序都在自己的进程中运行,并与轻量级机制(通常是HTTP资源API)进行通信。 这些服务是围绕业务功能构建的,可以通过全自动部署机制独立部署。 这些服务的集中管理最少,可以用不同的编程语言编写,并使用不同的数据存储技术。


说了这么多概念,微服务有什么样的具体特点呢?


1.独立部署,灵活扩展传统的单体架构是以整个系统为单位进行部署,而微服务则是以每一个独立组件(例如用户服务,商品服务)为单位进行部署。


用一张经典的图来表现,就是下面这个样子:


image.png



图中左边是单体架构的集群,右边是微服务集群。


什么意思呢?比如根据每个服务的吞吐量不同,支付服务需要部署20台机器,用户服务需要部署30台机器,而商品服务只需要部署10台机器。这种灵活部署只有微服务架构才能实现。


而近几年流行的Docker,为微服务架构提供了有效的容器。


2.资源的有效隔离微服务设计的原则之一,就是每一个微服务拥有独立的数据源,假如微服务A想要读写微服务B的数据库,只能调用微服务B对外暴露的接口来完成。这样有效避免了服务之间争用数据库和缓存资源所带来的问题。



image.png



同时,由于每一个微服务实例在Docker容器上运行,实现了服务器资源(内存、CPU资源等)的有效隔离。


3.团队组织架构的调整微服务设计的思想也改变了原有的企业研发团队组织架构。传统的研发组织架构是水平架构,前端有前端的团队,后端有后端的团队,DBA有DBA的团队,测试有测试的团队。



image.png


而微服务的设计思想对团队的划分有着一定的影响,使得团队组织架构的划分更倾向于垂直架构,比如用户业务是一个团队来负责,支付业务是一个团队来负责。


image.png



当然,这种垂直划分只是一个理想的架构,实际在企业中并不会把团队组织架构拆分得这么绝对

微服务与面向服务架构SOA的区别



image.png

image.png


SOA是什么样子呢?可以是下面这样的Web Service:


image.png


也可以是下面这样的ESB企业服务总线:


image.png


总之,SOA架构强调的是异构系统之间的通信和解耦合,而微服务架构强调的是系统按业务边界做细粒度的拆分和部署。


image.png

image.png


微服务架构的不足


image.png

image.png

image.png

目录
相关文章
|
Linux
yum镜像源汇总
yum镜像源汇总
5333 0
|
5月前
|
人工智能 运维 数据可视化
2026年阿里云轻量服务器部署OpenClaw(Clawdbot)喂饭级教程更新!
在2026年AI自动化办公、个人数字助理普及的浪潮中,OpenClaw(原Clawdbot、曾用名Moltbot)凭借“开源免费、零门槛操控、全场景任务自动化”的核心优势,成为新手、个人用户及中小企业搭建专属AI助理的首选工具。作为GitHub星标量超19万的开源AI自动化代理平台,它彻底打破了传统AI仅能对话的局限,真正实现“能听指令、能做实事”——无论是文档生成、日程提醒、文件整理、服务器运维,还是联网搜索、简单代码开发、多工具协同,只需一句口语化指令,就能自动完成全流程操作,无需手动干预。
1356 3
|
5月前
|
人工智能 弹性计算 自然语言处理
新手入门:2026年阿里云极速部署OpenClaw(Clawdbot)全攻略
在2026年AI自动化代理工具全民普及的浪潮中,OpenClaw(原Clawdbot,曾用名Moltbot)凭借“自然语言驱动、多任务自动化执行、全场景适配”的核心优势,成为新手入门AI自动化的首选平台。这款由奥地利开发者Peter Steinberger主导开发的开源项目,截至2026年2月,在GitHub平台星标数量已突破18.6万,Fork数超过3.2万,成为年度增长速度最快的开源项目之一。
1512 2
|
12月前
|
传感器 自然语言处理 资源调度
AR 交互与自动感应技术的博物馆智慧导览系统功能解析
本系统结合AR图像识别、自动感应与多语言资源管理,实现虚拟内容与文物精准叠加、自动讲解与智能导航,提升博物馆导览体验智能化、互动性。
998 1
|
监控 数据挖掘 测试技术
微服务架构
微服务架构
256 1
|
存储 算法 搜索推荐
Java数据结构:从基础到高级应用
Java数据结构:从基础到高级应用
377 0
|
安全 测试技术 数据库
基于SpringBoot+Vue反欺诈平台的建设(源码+部署说明+演示视频+源码介绍+lw)(3)
基于SpringBoot+Vue反欺诈平台的建设(源码+部署说明+演示视频+源码介绍+lw)
507 4
|
前端开发 测试技术 定位技术
Web Accessibility基础:构建无障碍的前端应用
网络无障碍确保所有人平等访问网站与应用,覆盖视觉、听觉等多种障碍。关键技术包括:文本替代(alt属性)、ARIA角色、清晰表单标签、键盘导航、颜色对比、视觉隐藏、ARIA live区域、触控优化、语义化编码、视觉反馈、语音支持、易读文本、状态指示、色盲友好、屏幕阅读器兼容、响应式设计、媒体内容字幕、定期测试、图像地图、语音合成、明确错误提示及焦点管理。
489 0
|
人工智能 自然语言处理 安全
飞天技术观丨大模型服务:千锤「百炼」,得其筋骨
大模型应用的表象炫人眼目,但内里却早已发生了巨变。2023年云栖大会上,阿里云CTO周靖人发布了一站式大模型应用开发平台——阿里云百炼,能够帮助企业真正有效地使用好大模型。本文将详解“百炼”的由来以及大模型应用是如何被改造的。
飞天技术观丨大模型服务:千锤「百炼」,得其筋骨