分布式和微服务系统区别

一、分布式是更广泛的概念,指将计算分布在多个物理节点上的系统

适用于需要高可用性、高性能、可扩展性的系统。

应用场景分布式数据库---数据高可用存储、分布式缓存---提升数据访问速度

分布式计算框架---大规模数据计算、分布式文件系统---海量数据的存储

不一定是按业务功能划分,可能只是为了提高性能或资源分担,把功能模块拆分到不同的节点中,但模块可能较大。

部署:通常涉及多个节点的配置 ,这些节点可能是集群中的服务器,也可以是不同的物理、或虚拟机。运维主要在于集群的监控、容错和资源管理



二、微服务是专注于业务模块化将应用程序划分为多个独立的小服务,每个服务围绕单一的业务

功能构建,服务之间通过轻量级协议(如:HTTP、gRPC)进行通信,更聚焦于业务层面。

核心:是通过模块化设计提高系统的灵活性、独立性,以便能独立开发、部署、测试和扩展。

每个微服务,通常负责特定的业务功能,并且有自己独立的数据库和接口

需求:适合快速变化的业务,方便单个服务的快速迭代和独立演进

应用场景电商---用户管理、商品服务、订单处理拆分为不同的微服务

金融---支付、风险控制、账户管理,独立部署和管理

强调将系统,按业务功能切分为更细粒度的服务,每个服务尽量独立和自治

部署:更加灵活,利用**容器技术实现资源隔离和可移植性,通常打包为容器镜像,容器封装了服务运行所需的所有依赖,确保服务可以在任何环境中稳定运行。高度依赖CI/CD流水线,**使用Jenkins、GitLab CI等工具实现自动化的代码构建、测试和发布。强调自动化运维

相关推荐
稻草人222213 小时前
java Excel 导出 ,如何实现八倍效率优化,以及代码分层,方法封装
后端·架构
数据智能老司机14 小时前
精通 Python 设计模式——创建型设计模式
python·设计模式·架构
数据智能老司机15 小时前
精通 Python 设计模式——SOLID 原则
python·设计模式·架构
努力的小郑18 小时前
从一次分表实践谈起:我们真的需要复杂的分布式ID吗?
分布式·后端·面试
bobz96519 小时前
k8s svc 实现的技术演化:iptables --> ipvs --> cilium
架构
云舟吖19 小时前
基于 electron-vite 实现一个 RPA 网页自动化工具
前端·架构
brzhang20 小时前
当AI接管80%的执行,你“不可替代”的价值,藏在这20%里
前端·后端·架构
AAA修煤气灶刘哥1 天前
别让Redis「歪脖子」!一次搞定数据倾斜与请求倾斜的捉妖记
redis·分布式·后端
Lei活在当下1 天前
【业务场景架构实战】4. 支付状态分层流转的设计和实现
架构·android jetpack·响应式设计
架构师沉默1 天前
设计多租户 SaaS 系统,如何做到数据隔离 & 资源配额?
java·后端·架构