分布式和微服务

问题分析:

简单来说,分布式是一组通过网络进行通信,并且为了完成共同的计算任务的计算机节点组

成的系统。 分布式系统的设计理念,其实是来自于小型机或者大型机的计算能力的瓶颈和成本的

增加。 在集中式系统里面,要想提升程序的运行性能,只能不断的升级 CPU 以及增加内存, 但

是硬件的提升本身也是有瓶颈的,所以当企业对于计算要求越来越高的时候,集中式架构已经无

法满足需求了。 在这样的背景下, 就产生了分布式计算,(如图),也就是把一个计算任务分配

给多 个计算机节点去运行。 但是对于用户或者客户端来说,感知不到背后的逻辑,就像访问单个

计算机一样,他看到的仍然是一个整体。

在分布式系统中,软件架构也需要作出相应的调整,需要把原本的单体应用进行拆分, 部署

到多个计算机节点上,然后各个服务之间使用远程通信协议实现计算结果的数据交互。 针对这种

分布式部署的应用架构,我们称为 SOA(面向服务)的架构。

其次,再解释一下微服务架构。 其实微服务架构本身就是一种分布式架构,它强调的是对部署在各个计算机上的应用服务的粒度。 (如图)它的核心思想是,针对拆分的服务节点做更进一步的解耦。

也就是说,针对 SOA 服务化架构下的单个业务服务,以更加细粒度的方式进一步拆分。 每个拆分出来的微服务由独立的小团队负责,最好在 3 人左右。

拆分的好处是使得程序的扩展性更强,开发迭代效率更高。 对于一些大型的互联网项目来说,微服务能够在不影响用户使用的情况下非常方便的实现产品功能的创新和上线。

相关推荐
Lei活在当下2 小时前
【Perfetto从入门到精通】2. 使用 Perfetto 追踪/分析 APP 的 Native/Java 内存
android·性能优化·架构
Xの哲學3 小时前
Linux Miscdevice深度剖析:从原理到实战的完整指南
linux·服务器·算法·架构·边缘计算
a努力。5 小时前
腾讯Java面试被问:String、StringBuffer、StringBuilder区别
java·开发语言·后端·面试·职场和发展·架构
麻辣兔变形记5 小时前
深入理解微服务下的 Saga 模式——以电商下单为例
微服务·云原生·架构
腾讯云中间件9 小时前
腾讯云 RocketMQ 5.x:如何兼容 Remoting 全系列客户端
架构·消息队列·rocketmq
代码AI弗森9 小时前
构建超级个体:AI Agent核心架构与落地实践全景解析
人工智能·架构
跟着珅聪学java9 小时前
在电商系统中,如何确保库存扣减的原子性
分布式
檐下翻书1739 小时前
互联网企业组织结构图在线设计 扁平化架构模板
论文阅读·人工智能·信息可视化·架构·流程图·论文笔记
CinzWS9 小时前
基于Cortex-M3的PMU架构--关键设计点
架构·pmu
fanly1110 小时前
创建抖音新号分享知识推广开源项目
微服务·surging microservice