微服务概述之微服务架构

前言

为了解决单体应用的缺点,工程师们想到将原来大的单体应用进行拆分,化整为零形成独立的应用,不过此时这些应用没有直观的入口,因此用传统应用的概念来定义就不太妥当。于是诞生了"服务",通过服务来描述这种功能性的应用,并其他应用提供功能支持,服务于其他应用。现在"服务"这个词已经广义化了,只要是能向其他组件提供技术支撑的系统都叫服务,甚至出现了很多概念,如SaaS(软件即服务)、PaaS(平台即服务)、IaaS(基础架构即服务)。

什么是服务

服务其实就是将其他应用当成消费者,为其提供特定的功能。例如,将用户登录抽象成一个服务,可以叫作用户服务,让其他服务来调用。以此类推,可以有订单服务、支付服务、消息服务、商品服务、客服服务、营销服务、积分服务等。总之,就是抽取公共部分以避免重复工作。这样一来,后续应用的开发,也就变成了服务的开发。

什么是微服务

理解了服务是怎么回事,接着我们来学习微服务。

微服务概念最早是 Martin Fowler(马丁•福勒)于2014年提出的。他指出了微服务架构是用于描述将软件应用设计成独立部署服务的一种方式,但是并没有给出精确的定义,只是提出了一些确定、通用的特征,如围绕组织和业务能力、自动化部署、节点智能、对语言和数据的分散控制等。

从技术的角度理解,微服务就是将传统的一站式应用,根据不同的业务拆分成一个小的服务,每个服务提供独立的业务功能,拥有自己独立的存储(数据库或者缓存),通过服务之间的互相调用来完成复杂的系统功能。

总结

服务是指将其他应用抽象为功能性的组件,为其他应用提供特定功能支持的系统。微服务则是一种将软件应用设计成独立部署服务的架构方式。在微服务架构下,传统的一站式应用根据业务进行拆分,形成小的独立服务,每个服务都提供独立的业务功能和存储,并通过互相调用来完成复杂的系统功能。

相关推荐
梦梦代码精9 小时前
2026年PHP开源商城系统实测对比:架构、多商户、商用授权,谁才是真·省心?
vue.js·docker·架构·开源·代码规范
杨了个杨898210 小时前
Keepalived + Nginx + HAProxy 高可用架构部署实战案例
java·nginx·架构
56AI12 小时前
360 智语 AI 企业智能体平台深度评测:从 L4 蜂群架构到政企落地实战
人工智能·架构
鹤落晴春12 小时前
【K8s】Pod调度、configMaps
云原生·容器·kubernetes
张忠琳12 小时前
【runc 1.4.2】(Part 2)runc 1.4.2 超深度分析 — CLI层:main.go、命令文件、runner、信号处理、TTY
云原生·kubernetes·runc
youngerwang12 小时前
【从搬运工到协处理器:网卡芯片架构、算法、验证与边缘演进深度剖析】
网络·算法·架构·芯片
老毛肚13 小时前
JeecgBoot 后端架构与技术栈全景导读 01
架构
@insist12314 小时前
系统架构设计师-操作系统进程管理核心知识点详解
架构·系统架构·软考·系统架构设计师·软件水平考试
●VON14 小时前
AtomGit Flutter鸿蒙客户端:用户资料
flutter·华为·架构·跨平台·harmonyos·鸿蒙
SL-staff14 小时前
Web 白板技术架构深度解析:从渲染到协作的选型哲学
前端·架构