分布式系统漫谈【贰】_分布式系统带来的问题

 

上篇文章:分布式系统漫谈【壹】_发展历程

 

上文中我们简单描绘了一个系统从单体应用向分布式集群应用转变的过程,通过转变可以让系统拥有更强大的并发访问支持,但是同时使用分布式部署也会带来一些单体不存在的问题,本文就这些问题整理讨论一下。

 

负载层

 

不同运营商网络

系统的访问用户可能来自不同的运营商网络,那么如何保证来自不同网络的请求响应速度?

 

稳定的负载均衡

当海量的并发请求过来时,如何保证负载均衡可以稳定地工作并转发请求?

 

服务层

 

远程调用

因为系统被拆分成了多个子系统分离部署,这样之前在同一个系统内的调用就被改成系统间的远程调用。而远程调用势必要通过网络,在分布式系统中最重要的一个原则就是网络是不可信的

 

服务治理

当集群中的节点无法提供服务时,如何快速识别出并做下线处理?当系统中某个服务请求量过高即将到达瓶颈的时候,该如何保证服务的相应?

 

分布式session

当一个集群对外提供服务的时候,用户的每次访问不一定路由到集群中哪个节点上,这样如何保证用户的session不失效?

 

数据层


分布式事务一致性

如前文所说,当系统数据量级达到一定程度之后,就要考虑数据分库分表的设计了。这样会带来一个问题,因为我们知道数据库事务在以数据库实例为维度的,当我们操作多个数据库实例的数据的时候,就相当于是多个数据库事务的操作,那么保证多个事务的一致性就是可以需要去解决的问题。

 

多机sequenceID

当系统是单数据库实例的时候,获取唯一主键就很简单,如从orable序列中获取即可。那么当我们的数据表横向拆分为多表的时候,主键如何保证唯一性就是一个问题。

 

其他要素


分布式缓存

随着业务量不断攀升,需要缓存的热点数据不断增多,那么如何保证海量的缓存数据稳定?

 

分布式日志

在分布式系统下,用户完成一次调用的日志将散列在多台机器上,那么日志如何追踪?

 

以上只是我目前整理出的分布式系统中常见的问题,应该是不完整的,后面有新的内容会再进行补充。

 

后面的文章将一一针对上面提出的问题进行探讨和解答。

分布式系统漫谈【叁】_负载层技术:Nginx

分布式系统漫谈【肆】_负载层技术:CDN

分布式系统漫谈【伍】_远程调用

分布式系统漫谈【陆】_SOA和微服务

分布式系统漫谈【柒】_微服务的挑战和解决方案

分布式系统漫谈【捌】_分布式事务一致性:理论基础

分布式系统漫谈【玖】_分布式事务一致性:协议支持

分布式系统漫谈【拾】_分布式事务一致性:阿里方案

分布式系统漫谈【拾壹】_分布式事务一致性:秒杀实现

分布式系统漫谈【拾贰】_分库分表带来的问题和解决方案

分布式系统漫谈【拾叁】_缓存带来的问题和解决方案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值