zoukankan      html  css  js  c++  java
  • 分布式服务之服务注册与发现组件

    Eureka 是 Netflix 开源的一款提供服务注册和发现的产品,已闭源,提供了完整的服务注册和发现,springcloud中最核心的组件之一,需要手动配置 Eureka Server 服务器。
    服务器端:pom.xml 中引入spring-cloud-starter-netflix-eureka-server,启动类添加@EnableDiscoveryClient 或@EnableEurekaServer注解,配置文件添加相关配置
    客户端:pom.xml 中引入spring-cloud-starter-netflix-eureka-client,启动类添加@EnableEurekaClient注解,配置文件添加相关配置;

    Consul是一个分布式高可用的系统,是为基础设施提供服务发现和服务配置的工具
    服务器端:使用 consul 服务器;
    客户端:pom.xml 中引入spring-cloud-starter-consul-discovery,启动类添加 @EnableDiscoveryClient注解,配置文件添加相关配置;

    Nacos 是 Alibaba 开源的一款专注于动态服务发现,配置和服务管理的组件
    服务器端:使用 Nacos 作为服务注册中心
    客户端:pom.xml 中引入spring-cloud-starter-alibaba-nacos-discovery,启动类添加 @EnableDiscoveryClient注解,配置文件添加相关配置;



    一、配置中心:
    1.eureka 不支持
    2.consul 支持 但用起来偏麻烦,不太符合springBoot框架的命名风格,支持动态刷新
    3.nacos 支持 用起来简单,符合springBoot的命名风格,支持动态刷新
    二、注册中心:
    1、eureka
    1.1、依赖:依赖ZooKeeper
    1.2、应用内/外:直接集成到应用中,依赖于应用自身完成服务的注册与发现,
    1.3、ACP原则:遵循AP(可用性+分离容忍)原则,有较强的可用性,服务注册快,但牺牲了一定的一致性。
    1.4、版本迭代:目前已经不进行升级
    1.5、集成支持:只支持SpringCloud集成
    1.6、访问协议:HTTP
    1.7、雪崩保护:支持雪崩保护
    1.8、界面:英文界面,不符合国人习惯
    1.9、上手:容易
    2、consul
    2.1、依赖:不依赖其他组件
    2.1、应用内/外:属于外部应用,侵入性小
    2.3、ACP原则:遵循CP原则(一致性+分离容忍) 服务注册稍慢,由于其一致性导致了在Leader挂掉时重新选举期间真个consul不可用。
    2.4、版本迭代:目前仍然进行版本迭代
    2.5、集成支持:支持SpringCloud K8S集成
    2.6、访问协议:HTTP/DNS
    2.7、雪崩保护:不支持雪崩保护
    2.8、界面:英文界面,不符合国人习惯
    2.9、上手:复杂一点
    3、nacos
    3.1、依赖:不依赖其他组件
    3.2、应用内/外:属于外部应用,侵入性小
    3.3、ACP原则:通知遵循CP原则(一致性+分离容忍) 和AP原则(可用性+分离容忍)
    3.4、版本迭代:目前仍然进行版本迭代
    3.5、集成支持:支持Dubbo 、SpringCloud、K8S集成
    3.6、访问协议:HTTP/动态DNS/UDP
    3.7、雪崩保护:支持雪崩保护
    3.8、界面:中文界面,符合国人习惯
    3.9、上手:极易,中文文档,案例,社区活跃

  • 相关阅读:
    Crontab '2>&1 &' 含义
    form提交方式Methor
    oracle基本术语
    在工作中常用的sql语句
    常用的删除大数据方法(游标+分段)
    oracle9i、10g、11g区别
    SSH面试总结(Hibernage面试)
    实习生招聘笔试
    TopCoder上一道600分滴题
    Oracle数据库面试题汇总
  • 原文地址:https://www.cnblogs.com/xx0829/p/12657914.html
Copyright © 2011-2022 走看看