zoukankan      html  css  js  c++  java
  • zookeeper 学习总结(一)——分布式概述

    一、分布式概述

    早期我们使用单体架构,即所有服务部署在一台服务器的一个进程中,随着互联网的发展,逐步演进为分布式架构,多个服务分别部署在不同机器的不同进程中。

    二 、zookeeper概述

    zookeeper是一个开源的分布式协调服务,提供分布式数据一致性解决方案,zookeeper分布式应用程序可以实现数据发布订阅、负载均衡、命名服务、集群管理分布式锁、分布式队列等功能。 zookeeper提供了分布式数据一致性解决方案,那什么是分布式数据一致性?首先我们谈谈什么叫一致性?

     

     

    如图在上图中有用户 user在DB1中修改balance=900,如果user下一次read请求到DB2数据,此时DB1的 数据还没及时更新到DB2中,就会造成整个数据库集群数据不一致。 数据一致性分为强一致性和最终一致性,强一致性指的如果数据不一致,就不对外提供数据服务,保证 用户读取的数据始终是一致的。数据强一致性只需要通过锁机制即可解决,在案例中通过在DB2没有从 DB1同步数据之前上锁,不对外提供读操作。只有当同步完成以后才对外提供服务。而最终一致性要求 数据最终同步即可,没有实时性要求。

     

    三、CAP原则

    CAP在分布式系统中主要指的是一致性((Consistency)、可用性(Availability)和分区容错性 (Partition tolerance)

    • 一致性

      一致性指的是强一致性

    • 可用性 系统提供的服务一直处于可用状态,用户的操作请求在指定的响应时间内响应请求,超出时间范围,认 为系统不可用

    • 分区容错性 分布式系统在遇到任何网络分区故障的时候,仍需要能够保证对外提供一致性和可用性服务,除非是整个网络都发生故障。 在一个分布式系统中不可能同时满足一致性、可用性、分区容错性,最多满足两个,对于分布式互联网 应用而言,必须保证P,所以要么满足AP模型、要么满足CP模型

     

    正常情况只用到AP或者CP组合,CA组合基本不会用的,因为都需考虑应用的分区容错性;

     

  • 相关阅读:
    215. Kth Largest Element in an Array
    214. Shortest Palindrome
    213. House Robber II
    212. Word Search II
    210 Course ScheduleII
    209. Minimum Size Subarray Sum
    208. Implement Trie (Prefix Tree)
    207. Course Schedule
    206. Reverse Linked List
    sql 开发经验
  • 原文地址:https://www.cnblogs.com/TvvT-kevin/p/12249594.html
Copyright © 2011-2022 走看看