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组合基本不会用的,因为都需考虑应用的分区容错性;

     

  • 相关阅读:
    angularJS 修改操作select回显选中的数据
    zkteco iface702 中控考勤机java开发步骤二---获取考勤机 的考勤数据
    zkteco iface702 中控考勤机java开发步骤一---连接考勤机
    JQuery的分页插件pagination.js
    Ajax跨域后台处理
    发送邮箱工具类--阿里企业邮箱群发
    kindeditor-4.1.10 ---文件上传
    导出excel表格
    算法
    Arrays类——Arrays.asList()方法使用
  • 原文地址:https://www.cnblogs.com/TvvT-kevin/p/12249594.html
Copyright © 2011-2022 走看看