zoukankan      html  css  js  c++  java
  • SpringCloud:Eureka的集群环境配置及CAP原则

    1.Eureka集群环境配置

    本质:互相注册。

    注意:但在一个服务器上去模拟集群部署时,需修改配置本地host文件的loaclhost镜像,因为相同intance.name会被默认为只有一个注册中心,而不会去访问其他EurekaSever

    大致跟一个Eureka相似,不同之处在于EurekaServer之间要相互绑定,

    eg:

    注意:7001,7002,7003均是EurekaSever,就是端口号不同,上图就是7001绑定了7002,7003;7002,7003也这样修改就可以了,实现了互相的绑定,三者是平行关系,作用是备份

    服务提供者相关配置:yaml格式

    eureka:
    client:
    service-url:
    defaultZone:注册到所有EurekaSever中(url),每个url用逗号隔开

    CAP原则

    RDBMS(mysql,sqlsever,oracle)=》ACID原则

    NoSql(redis,mongdb)=》CAP

    ACID:

     A  原子性(atomicity)

    C   一致性(consistency)

    I  隔离性(isolation)

    D  持久性(durability)

    CAP:

    C  一致性(Consistency)

    A  可用性(Availability)

    P  分区容错性(Partition tolerance)

    CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。(重点)

    各组合的特点:

    CA:单点集群,满足一致性和高可用性,通常扩展性比较差

    CP;分区容错系统,因为一致性比可用性强,所以拉低了性能

    AP;分区容错系统,一致性较低

    注意:因为zookeeper和eureka都必须保留集群部署的能力所以,两者只能在CP,AP中选择

    ZooKeeper保证的是CP

    因为保证了CP,强调一致性(要体现一致性就必须保持主从关系才能实现),所以当集群中的master(主要的)节点,因网络故障等原因与其它节点失去联系时,剩余的节点会重新选举leader,er选举leader的时间会很长30s~120S这之间所有注册的服务都会瘫痪,这时不可容忍的情况

    Eureka保证AP

    自我保护机制就是AP的主要体现,注册中心和其他服务(包括注册中心服务)都是依靠心跳去监控各服务的健康的,当同一时间有大量服务没有心跳,就会自动触发自我保护机制,核心思想是,宁可保护一个可能是坏掉的服务,也不消除一个可能健康的服务,

    这样的结果就是,即便在EurekaSever集群中的某个节点坏掉了,也不会影响整个系统的正常运行

    总结:

      zookeeper为强调一致性,他的注册中心集群会有主从关系,当主节点挂掉后,剩余的节点会重新选取leader,这期间整个注册与发现服务将会瘫痪,影响项目的运行

      Eureka强调高可用性,集群节点间是平行关系,即便其中一个节点挂掉,并不会影响其他服务的运行

  • 相关阅读:
    Windows 下安装Git工具及基础使用
    集合常用类及方法汇总
    集合类(Collection和Map接口)简介
    【汇总】java中数组的声明、初始化及遍历
    java解析从接口获取的json内容并写到excle(只写与标题匹配的值,并非把所有的接口返回值都写进去)
    java解析多层嵌套json字符串
    java容器(数组和集合)内元素的排序问题
    FileWriter实现从一个文件中读取内容并写到另一个文件中
    FileReader实现读取文件内容并输出到屏幕上
    FileOutputStream将从一个文件中读取的内容写到另一个文件中
  • 原文地址:https://www.cnblogs.com/CL-King/p/14315114.html
Copyright © 2011-2022 走看看