SpringCoud学习之Eureka

Posted 寻找香蕉之旅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringCoud学习之Eureka相关的知识,希望对你有一定的参考价值。

Eureka

一:Eureka是什么,用来干什么?

  Euraka是Spring Cloud集合中一个组件,Eureka是Netflix中的一个开源框架,它和 zookeeper、Consul一样,都是用于服务注册管理的,本质上是为了解耦服务提供者和服务消费者。

二:为什么要用注册中心,可以使用其他的替代Eureka吗?

  2.1 为什么要用Eureka:任何⼀个微服务,原则上都应存在或者⽀持多个提供者,为了⽀持弹性扩缩容特性,⼀个微服务的提供者的数量和分布往往是动态变化的,也是⽆法预先确定的。因此,原本在单体应⽤阶段常⽤的静态LB机制就不再适⽤了,需要引⼊额外的组件来管理微服务提供者的注册与发现,⽽这个组件就是服务注册中⼼。

  2.2 替代Eureka的组件选择:

    Zookeeper:JAVA语言开发的分布式服务框架,主要是⽤来解决分布式应⽤中⼀些数据管理问题,如:统⼀命名服务、状态同步服务、集群管理、分布式应⽤配置项的管理等。本质=存储+监听通知。Zookeeper ⽤来做服务注册中⼼,主要是因为它具有节点变更通知功能,只要客户端监听相关服务节点,服务节点的所有变更,都能及时的通知到监听客户端,这样作为调⽤⽅只要使⽤ Zookeeper 的客户端就能实现服务节点的订阅和变更通知功能了,⾮常⽅便。另外,Zookeeper 可⽤性也可以,因为只要半数以上的选举节点存活,整个集群就是可⽤的。

    Consul:Go语⾔开发的⽀持多数据中⼼分布式⾼可⽤的服务发布和注册服务软件, 采⽤Raft算法保证服务的⼀致性,且⽀持健康检查。

    Nacos:构建云原⽣应⽤的动态服务发现、配置管理和服务管理平台,简单来说 Nacos 就是 注册中⼼ + 配置中⼼的组合,帮助我们解决微服务开发必会涉及到的服务注册 与发现,服务配置,服务管理等问题。

  2.3 各注册中心区别对比

    

三:Eureka入门

  3.1:未使用Eureka之前

  

  

  上述代码存在的问题:1)把url地址硬编码到代码中,不⽅便后期维护。

  3.2:使用Eureka

  

   开发注册中心模块

  

  注册中心配置文件

   

  注册中心启动类上添加eureka服务端注解

  

  消费端引入eureka客户端依赖

  

   消费端配置文件

  

   消费端添加服务发现注解

          

  服务调用

   

四:Eureka 注册中心后台 (   http://{注册中心主机地址}:{服务端口号}/eureka  )

  

  

五 Eureka 集群高可用

  

  5.1:修改本机host属性
    由于是在个⼈计算机中进⾏测试很难模拟多主机的情况,Eureka配置server集群时需要执⾏host地址。 所以需要修改个⼈电脑中host地址
    127.0.0.1 SpringCloudEurekaServerA
    127.0.0.1 SpringCloudEurekaServerB
  5.2:修改yml文件
    

    

  5.4:服务提供者注册到注册中心集群上、

    

 

 

以上是关于SpringCoud学习之Eureka的主要内容,如果未能解决你的问题,请参考以下文章

uboot学习之二----主Makefile学习之三----静默编译

集成学习之Boosting —— Gradient Boosting原理

uboot学习之二----主Makefile学习之四----两种编译方法:原地编译和单独输出文件夹编译

python机器学习之特征降维

knockout学习资料

SPISPI学习之SPI驱动相关