zoukankan      html  css  js  c++  java
  • 浅谈Eureka和Zookeeper

    两个名字和技术类似,都是有服务注册与发现的功能,但两个的技术层面考虑的着重点是不相同的

    这里我们要涉及到数据库中的事务,一致性,原子性,持久性,独立性。

    这里我们是CAP原理分布式系统的三个指标:

      C:一致性   

      A:高可用性

      P:分区容错

    P分区容错:分布式系统中都分布在多个子网络,每一个子网络叫做一个区,分区容错就是区间通信肯能会失败,分区容错无法避免,所以所有的分布式架构

    必须要占用P指标

    C一致性:写操作之后的读操作,必须返回该值。用户对其中一个提供者V1进行写入User操作,再对其进行读操作,会得到该值,但是当用户对V1进行写操作后,但是在读的时候却是提供者V2,此时由于没有操作V2所以是查询不到之前写入V1的User,前后结果不一致,就不满足一致性

    解决:为了让V2也添加进User,就要在G1写入User操作的时候,让V1向V2发送一条信息要求V2也写入User

    A高可用性:只要收到用户的请求,服务器就必须要给出响应,不管是有没有User,否则就不满足可用性

    CAP定理三进二:

      任何一个分布式架构都无法同时满足这三个特性,且分布式架构不可能放在同一台机器上,所以一定会占用P分区容错

    C一致性和A可用性之间的矛盾

     可能微服务之间的通信失败(分区容错)

    如果保证 V2 的一致性,那么 V1 必须在写操作时,锁定 V2 的读操作和写操作。只有数据同步后,才能重新开放读写。锁定期间,V2 不能读写,没有可用性不。如果保证 V2 的可用性,那么势必不能锁定 V2,所以一致性不成立。

  • 相关阅读:
    Java随学随记
    jquery的bind()和trigger()
    js跨域访问
    好文推荐系列-------(5)js模块化编程
    好文推荐系列---------(4)使用Yeoman自动构建Ember项目
    好文推荐系列--------(3)GruntJS 在线重载 提升生产率至新境界
    好文推荐系列--------(2)GruntJS——重复乏味的工作总会有人做(反正我不做)
    好文推荐系列--------(1)bower---管理你的客户端依赖
    英文邮件写作
    原型
  • 原文地址:https://www.cnblogs.com/guanyuehao0107/p/11820405.html
Copyright © 2011-2022 走看看