微服务2025/2/15

微服务是一种软件架构风格,它是以专注于单一职责的很多小型项目为基础,组合出复杂的大型应用。

微服务是一种架构。

微服务是一种架构。

微服务是一种架构。

以前自己做项目最常用的架构是单体架构。单体项目不适合开发大型项目。

学习微服务技术来解决服务拆分碰到的问题。

使用微服务技术(工具)把单体项目拆成微服务项目。

上图是一些微服务技术,解决相应问题。

什么是单体架构

将业务的所有功能集中在一个项目中开发,打成一个包部署。

优点:架构简单、部署成本低。

缺点:团队协作成本高、系统发布效率低、系统可用性差。

总结:单体架构适合开发功能相对简单,规模较小的项目。

微服务架构

微服务架构,是服务化思想指导下的一套最佳实践架构方案。服务化,就是把单体架构中的功能模块拆分为多个独立项目。

SpringCloud

SpringCloud是目前国内使用最广泛的微服务框架。SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用体验。(但对于Springboot的版本也有要求)

(题外话:Springboot最擅长自动装配和依赖管理)、

拆分原则

目标:高内聚、低耦合

拆分方式:横向拆分(抽取公共服务,提高复用性)、纵向拆分(按照业务模块拆分)

拆分服务

工程结构有两种:独立project、Maven聚合

远程调用

一旦微服务进行了拆分,数据产生了隔离,服务也产生了隔离,没法像以前一样调用了,如果想要像以前一样查询,查别人的数据,就必须通过网络调用。

相关推荐
AOwhisky31 分钟前
Python 学习笔记(第十三期)——运维自动化(下·前篇):远程命令执行——paramiko基础篇
运维·python·学习·云原生·自动化·运维开发·paramiko
AOwhisky1 小时前
Python 学习笔记(第十四期)——运维自动化(下·中篇):远程文件传输——paramiko进阶篇
运维·python·学习·云原生·自动化·文件传输·paramiko
旧物有情1 小时前
游戏开发常用架构 #MVP,MVC
游戏·unity·架构·mvc
浩哥学JavaAI2 小时前
2026年最新AI agent面试(07)_大模型架构基础
人工智能·面试·架构
运维行者_2 小时前
如何查看每个IP的带宽使用情况?NetFlow 技术实战指南
开发语言·网络·分布式·后端·架构·带宽
杨充3 小时前
4.接口而非实现编程
java·后端·架构
2601_954526753 小时前
【硬核架构】打破 IT 与 OT 的数据孤岛!基于 Rust 异步协程的工业 IoT 网关重构,兼谈顶级自动化智能仪表厂家选型指南
物联网·架构·rust
郑州光合科技余经理3 小时前
家政O2O平台解析:从0搭建上门预约小程序解决方案
android·java·开发语言·前端·小程序·架构·php
李福春4 小时前
SpecCoding + Harness:把 Vibe Coding 从「灵感」钉成「可交付」
架构