浅析分布式系统

随着业务复杂度和数据量的增长,单体web项目的局限性日益凸显,分布式系统成为了解决之道。分布式系统由一组通过网络通信的组件构成,提供一致性的对外表现。微服务架构进一步将大型应用拆分为小而独立的服务,提高扩展性和可维护性。服务治理如dubbo+zookeeper在其中起到关键作用。CAP理论和BASE原则指导了分布式设计,而RPC则解决了跨网络组件间的通信问题。分布式系统带来了更高的稳定性和灵活性,但也引入了新的挑战,如一致性、可用性和分区容错性管理。

浅析分布式系统

为什么会用分布式系统?

当代企业级应用面对的问题

  1. 设备激增,用户量大
  2. 更新迭代快,业务复杂度几何级增长
  3. 数据量趋于海量
  4. 系统稳定性要求高
  5. 安全环境恶劣
    单体web项目
    1.编译慢,启动慢,代码冲突等各种问题,严重影响开发效率
    2.性能扩展有局限性,一定规模后,单纯堆机器已经很难扩展性能了。
    3.随着业务更加复杂,单体式结构的课扩展性,可维护性降低;
    随着当前网络环境的复杂增长,单体项目已经难以维护和合作开发。

分布式系统定义

在同一个网络下的一组通过网络进行通信与协调的组件,对外表现如同一个系统

什么是微服务架构

SOA service-oriented-architecture
基于服务的架构
将一个单体应用,拆分成多个服务,每个服务只提供有限的某个领域的服务,比如
用户服务:注册、注销、修改用户信息、查询用户信息、登录
订单服务:创建订单、取消订单、修改地址、状态改变、订单查询

服务治理

代表性框架:dubbo+zookeeper

MSA micro-service-architecture
微服务架构
● 服务粒度更细,举例
用户查询服务
用户注册服务
用户注销服务
● 自动化运维
● 轻量级设计、开发、测试、部署

分布式基础

CAP理论
C: 一致性
A: 可用性
P: 分区容错性
CAP无法同时满足

BASE

Basically Available(基本可用),Soft state(软状态),和 Eventually consistent(最终一致性)

RPC 远程过程调用

本地方法调用,方法的调用和执行都在同一个JVM中完成
分布式系统的各组件是分布在网络上的,所以很显然的一个环节就是通信,若是组件间无法通信,则分布式系统无法正常运作。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值