关于分布式框架和微服务的介绍

本文介绍了分布式系统的基本概念,阐述了为何采用分布式架构以解决单体架构的问题。讲解了CAP理论,区分了AP和CP应用场景,并比较了Eureka和Nacos在服务注册中心的不同。最后提到了SpringCloud在微服务开发中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.什么是分布式?

分布式:把一个完整的系统,根据业务功能对系统做拆分, 每个业务功能模块作为独立项目开发,称为一个服务。 一个完整的业务功能,可能需要多个服务进行通信才能完成。 服务之间通信是需要网络的。

2.为什么要使用分布式?

单体架构:将所有业务功能都集中在一个项目中开发,打成一个包部署。耦合度高(维护困难、升级困难) 随着业务越来越复杂,服务也会变得越来越复杂,单台机器的CPU、内存已经无法满足部署一个庞大系统的性能要求。 当然可以通过提高系统配置暂时解决问题,但是不管如何提高系统的配置,单台机器总会达到性能瓶颈的时候, 所以需要多台机器才能应对这些扩张的功能。通过水平(加机器)和垂直(拆分为多个子系统)拆分系统, 变成了一个分布式架构。让更多的服务器进行协作,提供更强大的数据处理能力。 当然集体未必就总是好的,人多力量大的同时,也带来了很多问题。

3.CAP理论 CP AP

分区容错 (Partition-tolerance) 先看 Partition tolerance,中文叫做"分区容错"。 大多数分布式系统都分布在多个子网络。每个子网络就叫做一个区(partition)。分区容错的意思是,区间通信可能失败。 比如,一台服务器放在中国,另一台服务器放在美国,这就是两个区,它们之间可能无法通信。 一致性(Consistency) Consistency 中文叫做"一致性"。意思是,写操作之后的读操作,必须返回该值。举例来说,某条记录是 v0, 用户向 G1 发起一个写操作,将其改为 v1。接下来,用户的读操作就会得到 v1。这就叫一致性。 可用性(Availability) Availability 中文叫做"可用性",意思是只要收到用户的请求,服务器就必须给出回应。 用户可以选择向 G1 或 G2 发起读操作。不管是哪台服务器,只要收到请求,就必须告诉用户,到底是 v0 还是 v1,否则就不满足可用性。

对于任何分布式系统来说,分区容忍是一个给定的条件,如果没有这一点,就不可能做到一致性和可用性。 试想如果两个节点链接断掉了,他们如何能够做到既可用又一致? 最后你只能选择在网络分区情况下,你的系统要么强一致,要么高可用。 AP:可用性+分区容忍性 查

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值