微服务概述之微服务架构

前言

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

什么是服务

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

什么是微服务

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

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

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

总结

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

相关推荐
SmartBrain24 分钟前
《资治通鉴》20 条智慧赋能企业经营管理
华为·架构·创业创新
SamDeepThinking30 分钟前
别把业务逻辑塞进存储过程,适当用表驱动法
java·后端·架构
贫民窟的勇敢爷们2 小时前
Kimi K2.6:面向生产级智能体的万亿参数 MoE 架构解析
架构
生成论实验室2 小时前
《事件关系阴阳博弈动力学:识势应势之道》第十篇:识势应势——从认知到行动的完整闭环
人工智能·算法·架构·创业创新·安全架构
红球yyds2 小时前
Kubernetes 简介及部署方法
云原生·容器·kubernetes
RuoyiOffice2 小时前
SpringBoot+Vue3 实现 OA 公文外来文与归档台账:外部收文、BPM办理、三类公文统一归档
spring boot·微服务·uni-app·vue·ruoyi·anti-design-vue·ruoyioffice
wangruofeng2 小时前
Rust 深度调研:从 Linux 内核到 Cloudflare,为什么最硬核的项目都在用 Rust?
架构·rust
IT邦德2 小时前
26ai OGG 微服务高可用部署及切换
微服务·云原生·架构
AI攻城狮2 小时前
上下文窗口不是你的问题,你塞进去的东西才是——RAG 精排技术深度解析
云原生
ting945200010 小时前
Tornado 全栈技术深度指南:从原理到实战
人工智能·python·架构·tornado