微服务2025/2/15

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

微服务是一种架构。

微服务是一种架构。

微服务是一种架构。

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

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

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

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

什么是单体架构

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

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

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

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

微服务架构

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

SpringCloud

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

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

拆分原则

目标:高内聚、低耦合

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

拆分服务

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

远程调用

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

相关推荐
舌尖上的五香1 小时前
k8s拉取harbor镜像部署
云原生·容器·kubernetes
瑞金彭于晏3 小时前
微服务架构与传统的单体架构有什么区别?微服务架构(Spring Cloud + Maven)强在哪?
spring cloud·微服务·架构
Thomas_YXQ6 小时前
Unity3D 战斗系统架构与设计详解
开发语言·unity·架构·系统架构·unity3d
鼠鼠我呀26 小时前
【MySQL是怎么运行的一】逻辑架构
数据库·mysql·架构
挣扎与觉醒中的技术人6 小时前
Kubernetes (K8S) 高效使用技巧与实践指南
网络·云原生·容器·kubernetes
Suryxin.7 小时前
「云原生」「云原生应用的构建与部署」
云原生
迃幵chen7 小时前
kubernetes 初学命令
云原生·容器·kubernetes
loop lee7 小时前
【K8S】Kubernetes 中的基本组成部分介绍,一文了解 K8S 中的所有概念
云原生·容器·kubernetes
电报号dapp11914 小时前
Sui链开发:技术架构与生态实践深度解析(2025年最新进展)
架构·去中心化·区块链·智能合约