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,所以一致性不成立。

  • 相关阅读:
    root用户javac可以执行sudo后command not found问题
    机器学习 KNN算法实现 (鸢尾花)
    机器学习 KNN分类算法简单介绍+数据集拆分
    机器学习的一般流程
    机器学习算法的性能评价
    Opencv 自带函数(Haar)的人脸检测
    Opencv 的基础认识
    labelme 的学习
    天梯赛总结CCCC
    VScode配置c,c++编译环境
  • 原文地址:https://www.cnblogs.com/guanyuehao0107/p/11820405.html
Copyright © 2011-2022 走看看