• 什么是分布式


    那么究竟什么是分布式系统?

    分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。

    分布式架构图

    首先需要明确的是,只有当单个节点的处理能力无法满足日益增长的计算、存储任务的时候,且硬件的提升(加内存、加磁盘、使用更好的CPU)高昂到得不偿失的时候,应用程序也不能进一步优化的时候,我们才需要考虑分布式系统。

    分布式系统的几个特性:可扩展性、高性能、高可用、一致性。这几个特性也是分布式系统的衡量指标,正是为了在不同的程度上满足这些特性(或者说达到这些指标),才会设计出各种各样的算法、协议,然后根据业务的需求在这些特性间平衡。

    那么分布式锁又是怎么产生的呢?

    现如今大多数互联网系统都是分布式部署的,分布式部署确实能带来性能和效率上的提升,但是当某个资源在多系统之间,具有共享性的时候,为了保证大家访问这个资源数据是一致的,这个时候我们需要用分布式锁来让多客户端互斥的对共享资源进行访问。

    目前主流的有三种分布式锁,从实现的复杂度上来看,从上往下难度依次增加:

    • 基于数据库实现

    • 基于 Redis 实现

    • 基于 ZooKeeper 实现

  • 相关阅读:
    什么是单例模式?
    下拉列表(web),用jQuery实现
    PS基础
    C#笔记
    C#基础篇--文件(流)
    C#基础篇03
    今天自学了网页上注册某某时的倒计时设置
    主数据管理的Jill Dyche, Evan Levy六层次模型
    scala akka 修炼之路6(scala函数式柯里化风格应用场景分析)
    OpenWrt mt7620n双SSID实现原理
  • 原文地址:https://www.cnblogs.com/h-c-g/p/10870525.html
Copyright © 2020-2023  润新知