美文网首页
Spring Cloud Eureka 一些心得

Spring Cloud Eureka 一些心得

作者: 白夜协奏曲 | 来源:发表于2018-05-14 21:19 被阅读0次

Spring Cloud Eureka 一些心得

Spring Cloud Eureka是Spring cloud Netflix 微服务套件的一部分,它基于Netflix Eureka做了二次封装,主要负责完成微服务架构中的服务治理功能。

基础架构

 Eureka服务治理的基础架构主要包含服务注册中心,服务提供者,服务消费者。

 服务注册中心提供服务注册与发现功能,服务提供者是提供服务的应用,可以是Spring Boot应用,也可以是其他的语言平台遵循Eureka通信机制的应用。服务消费者从服务注册中心获得服务列表,从而使消费者可以知道从何处调用其需要的服务。

实际操作

1.创建一个Eureka Server 的Spring Boot项目。

  pom.xml主要信息如下:

        需要注意的是spring boot的版本与spring cloud版本。

建立两个配置文件用于测试,分别为:application-peer1.yml与application-peer2.yml。

    开启服务注册中心:增加@EnableEurekaServer注解。

    在hosts文件下增加:

        127.0.0.1 peer1

        127.0.0.1 peer2

    打包,然后指定配置文件启动。

        java -jar eureka-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1

        java -jar eureka-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2

    分别访问8001和8002可以看到如下页面:

可以看出,registered-replicas,avaliable-replicas已经相互关联。如果关闭其中一个,节点会切换至unavaliable-replicas节点。

2.创建一个spring boot web 项目用作关联测试。

pom.xml :

同样,需要注意springboot版本与spring cloud版本。

在application.yml指定注册中心地址:

新建一个测试Controller:

最后增加@EnableDiscoveryClient,打包分别以两个端口启动。

访问eureka server ,可以看到,注册信息:

3.创建一个ribbon-consumer用于简单测试负载均衡。

pom.xml:

application.yml:

测试controller:

注意Url

入口:

启动ribbon,看Eureka Server的注册信息:

访问ribbon的测试controller:

http://localhost:8088/test-consumer,可以得到之前web project的测试返回结果test。

反复刷新,可以看到请求被平均分配到两个测试服务提供商:

关闭8001的Eureka Server,访问Eureka Server显示8001不可用:

再次访问ribbon的测试入口,访问成功并得到返回值test:

一个简单的Eureka Server+Client+Ribbon的测试完成。

参考资料《Spring Cloud 微服务实战》

相关文章

网友评论

      本文标题:Spring Cloud Eureka 一些心得

      本文链接:https://www.haomeiwen.com/subject/crkhdftx.html