微服务2025/2/15

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

微服务是一种架构。

微服务是一种架构。

微服务是一种架构。

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

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

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

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

什么是单体架构

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

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

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

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

微服务架构

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

SpringCloud

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

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

拆分原则

目标:高内聚、低耦合

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

拆分服务

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

远程调用

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

相关推荐
zhojiew1 小时前
istio in action之服务网格和istio组件
云原生·istio
小小工匠2 小时前
架构思维:通用架构模式_系统监控的设计
架构·系统监控
佩奇的技术笔记2 小时前
Java学习手册:微服务设计原则
java·微服务
敢敢のwings3 小时前
Dense 与 MoE 系列模型架构的全面对比与应用策略
架构
代码的奴隶(艾伦·耶格尔)4 小时前
微服务!!
微服务·云原生·架构
码农飞哥6 小时前
互联网大厂Java面试实战:Spring Boot到微服务的技术问答解析
java·数据库·spring boot·缓存·微服务·消息队列·面试技巧
Cloud Traveler6 小时前
Kubernetes vs. OpenShift:深入比较与架构解析
架构·kubernetes·openshift
掘金-我是哪吒7 小时前
分布式微服务系统架构第126集:集群,数据库扩展,多节点分布,分库,分表,分片,分表,运维
运维·数据库·分布式·微服务·系统架构
是垚不是土8 小时前
探秘高可用负载均衡集群:企业网络架构的稳固基石
运维·服务器·网络·云原生·容器·架构·负载均衡
杰克逊的日记8 小时前
大规模k8s集群怎么规划
云原生·容器·kubernetes