
微服务与分布式
文章平均质量分 93
TracyCoder123
人的某些烦恼源于书读的太少而想的太多
展开
-
分布式算法(五):初识ZAB协议
Zookeeper 是一种分布式协调服务,它帮助分布式系统中的进程或服务之间进行协作。配置管理:应用程序可以在 Zookeeper 中存储配置信息,并且可以在配置发生变化时得到通知。命名服务:为分布式系统中的组件提供一个统一的名字空间,类似 DNS 之于互联网。分布式同步:提供机制以确保多个节点之间的操作能够按照一定的顺序执行。组成员管理:跟踪集群中成员的状态,检测成员的加入和离开。领导选举:在一组服务器中选出一个领导者来协调某些活动。Znodes(节点)原创 2024-12-31 13:00:54 · 917 阅读 · 0 评论 -
分布式算法(四):Basic Paxos协议初探(角色、阶段)
在这个背景下,Paxos协议应运而生。想象一下,如果你正在使用一款流行的社交网络应用,无论是在世界的哪个角落,无论服务器集群内部发生了什么变化,你都能够顺利发布你的状态更新或与朋友交流,这就是Paxos等共识算法所保障的结果。在一个健康的Paxos系统中,少数派的意见不足以影响最终的决策结果,因为系统的设计原则是必须有超过一半的节点(即多数派)同意才能使提议生效。然而,随着节点数量的增加和地理分布的扩大,如何确保这些分散在全球各地的计算机能够像一个协调有序的整体一样工作,成为了工程师们面临的重大挑战之一。原创 2024-12-26 18:07:05 · 760 阅读 · 0 评论 -
分布式算法(三):分布式事务的解决方案——三阶段提交协议
文章目录一、核心实现原理优化三个阶段1.CanCommit询问阶段2.PreCommit预提交阶段3.DoCommit提交阶段二、故障恢复1.协调者发生故障心跳机制解决数据不一致问题2.部分参与者发生故障三、优缺点分析优点缺点三阶段提交协议(Three-Phase Commit, 3PC)是分布式系统中用于保证跨多个节点的数据一致性的算法。它是在两阶段提交(2PC)的基础上发展起来的,旨在解决2PC的一些局限性,如协调者单点故障和阻塞问题。3PC通过引入额外的准备阶段来尝试减少阻塞时间,并且允许参与者在某原创 2024-12-24 13:58:04 · 778 阅读 · 0 评论 -
分布式算法(二):分布式事务的解决方案——两阶段提交协议
两阶段提交协议(2PC)对强一致性的CP架构系统至关重要,它通过确保所有分布式节点在事务处理上达成一致,要么全部成功提交,要么全部回滚,从而维护了全局数据的一致性和完整性,同时提供了可靠的故障恢复机制,尽管可能牺牲一定的系统可用性和性能。这对于需要高度可靠和一致性的应用场景,如金融交易、分布式数据库操作等,具有不可替代的应用价值。然而,值得注意的是,虽然2PC非常适合强一致性的需求,但它也有一些缺点,特别是在高可用性和性能方面。原创 2024-12-23 17:28:50 · 984 阅读 · 0 评论 -
分布式算法(一):从ACID和BASE到CAP
BASE理论是“基本可用(Basically Available),软状态(Soft State),最终一致性(Eventual Consistency)”的缩写,它是对ACID的一种放松,旨在为高可用性和分区容忍性提供支持。这意味着在一个分布式的环境中,所有的节点需要同步进行更新,以保持数据的一致性。探索分布式系统中关于数据一致性和可用性的哲学——从ACID到BASE再到CAP定理,这是一个充满挑战和技术深度的话题,它不仅影响着我们如何设计和实现数据库,也深刻地改变了现代互联网应用的架构方式。原创 2024-12-19 18:18:13 · 1002 阅读 · 0 评论 -
Dubbo快速入门(二):第一个Dubbo程序(附源码)
然后在接口测试工具中访问接口:访问成功!原创 2024-10-13 00:30:46 · 1163 阅读 · 0 评论 -
Zookeeper快速入门:部署服务、基本概念与操作
持久节点 (Persistent Node)不会自动删除。可以有子节点。适用于需要长期存在的数据。临时节点 (Ephemeral Node)客户端会话结束时自动删除。不能有子节点。适用于表示客户端的存在或状态。持久顺序节点 (Persistent Sequential Node)不会自动删除。创建时自动添加序列号。适用于需要唯一标识符的场景,例如任务分配。临时顺序节点 (Ephemeral Sequential Node)客户端会话结束时自动删除。创建时自动添加序列号。原创 2024-10-12 21:54:00 · 1422 阅读 · 0 评论 -
Dubbo快速入门(一):分布式与微服务、Dubbo基本概念
在互联网时代,随着用户基数的急剧增长和技术的不断进步,互联网项目与传统项目相比有了显著的区别。因此,互联网项目更加注重用户体验,包括界面的美观度、功能的丰富性、加载的速度以及系统的稳定性。在互联网架构中,为了实现上述目标,通常会采用集群和分布式计算的技术方案。例如,在一个分布式系统中,为了提高系统的可用性和性能,通常会采用集群技术来部署关键组件,如Web服务器、数据库和缓存等。集群技术主要用于解决单点故障问题,提高系统的可靠性和可用性,同时也能通过负载均衡来提升系统的处理能力。原创 2024-09-26 10:47:46 · 1499 阅读 · 0 评论