快好知 kuaihz

Java大型网站-必须掌握大型网站分布式系统基本理论

分布式系统是一种基于网络的软件系统。由于软件的特点,分布式系统具有高度的内聚性和透明性。因此,网络与分布式系统的区别更多地在于高级软件(尤其是操作系统),而不是硬件。内聚性是指每个数据库的高度自治的分布式节点与本地数据库管理系统。透明性意味着每个数据库分发节点对用户的应用程序都是透明的,并且看不到它是本地的还是远程的。在分布式数据库系统中,用户并不觉得数据是分布式的,也就是说,用户不需要知道关系是否被划分,是否有副本,数据存储在哪个站点,事务执行在哪个站点。

分布一致性的基本理论

Cap/base:大型网站一致性理论的基础理论

让我们来看看cap,分布式系统的基本理论。

上限理论:

一致性(c):所有节点同时读取相同的数据。成功写入数据后,所有节点都将看到新数据。

可用性(a):确保每个请求都收到反馈,无论是成功还是失败。这是数据的可用性,关键是系统必须响应。

分区容忍度(P):即使系统中存在一些问题或缺少消息,系统也可以继续运行。

分布式系统不能同时满足上述三项要求。一般来说,许多分布式系统在设计中的选择是放弃一定的一致性而选择AP。

让我们看看基础:

基本可用:无法允许分区

软状态:接受一段时间内不同步的状态

最终一致性:确保最终数据的状态一致

因此,当我们选择AP时,对于C,我们采用的策略是确保最终的一致性

一致性:所有节点同时读取相同的数据。

最终一致性:以牺牲部分一致性为代价,数据中存在不一致是可以接受的,但通过重试或其他方式,可以确保数据最终达到一致状态

Paxos协议,它比两阶段提交协议轻,以确保一致性

分布式系统中,它面临着不同的问题,如网络问题、进程或机器挂起、进程超时等。这将导致重复的消息,在一段时间内无法到达。Paxos协议是解决分布式系统一致性问题的一种方法。

使用Paxos协议有一个前提,即不存在拜占庭式的一般问题。简而言之,它要有一个可靠的通信环境,在这个环境中,所有信息都是准确的,没有被篡改。

Paxos协议的解析过程比较复杂,这里不介绍。如果你感兴趣,你可以学习。帕索斯的核心原则是少数服从多数。

但是在Paxos协议中存在一个问题。如果系统中有人提出建议,可能会发生冲突和失败。然后每个人都在再试。再试一次仍可能导致失败。这会导致一个活锁。

解决方案是在整个集群中设立一个领导者,提出所有的建议,以避免冲突。新的问题是,如果领导出了问题,该如何处理。

以上是我对Java大型互联网体系结构的总结——大型网站分布式一致性的基本理论问题和优化,您必须掌握。我希望你知道什么是Java大型Internet架构——大型网站分布式一致性的基本理论问题和优化,你必须掌握。感觉收获可以一点一点的收藏转发波哦,谢谢各位大佬的支持!

一、写更多,敲更多的代码。良好的准则和扎实的基础知识必须来自实践

二、你可以去百度搜索腾讯教室图灵学院视频了解Java架构的实际案例,这是相当不错的。

最后,在座的各位,谢谢你们的耐心。我希望在成为一个更好的java程序员的路上,我们可以一起学习和进步。

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:大型  大型词条  网站  网站词条  分布式  分布式词条  掌握  掌握词条  必须  必须词条  
优化

 网站SEO优化::图片优化与内容...

跟着互联网越来与遍及,人们的网页的要求也越来越高,不光网页要满意自己的需求,还要漂亮大方。这种对网站质量的要求,也对搜索引擎优化人员是一个应战,由于在规划网站时...(展开)

优化

 到底什么样的外链才是好外链

这个标题写下去,其实才知道写的有些不妥,因为外链根本没有高低贵贱等级之分,只有无效的和有效的区别。好了,先给大家看个图片吧,这个是百度内部某后台系统的截图:从图...(展开)