SpringCloud:如何使用Eureka进行服务治理?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringCloud:如何使用Eureka进行服务治理?相关的知识,希望对你有一定的参考价值。

参考技术A “微服务”一词来自国外的一篇博文,网站: https://martinfowler.com/articles/microservices.html

如果您不能看懂英文文档,可以跳转到搜简体中文的文档

这是国人翻译的文档,可以学习参考:

引用官方文档解释:

Eureka server:创建服务注册中心

环境准备:

创建一个SpringBoot Initialize项目

pom,加上spring-cloud-starter-netflix-eureka-server

@EnableEurekaServer配置Eureka服务端:

eureka服务端配置:

启动项目,访问: http://localhost:8761

在Eureka中,服务提供者和服务消费者是Eureka client提供的,使用注解@EnableEurekaClient标明

新建SpringBoot Initializer项目

写个例子,以github用户为例:

读取github用户信息:

@EnableEurekaClient指定eureka client:

部署后,注册信息发布到eureka server:

服务注册信息打印到控制台

访问接口: http://localhost:8081/api/users/mojombo,能访问就是注册成功

提示:EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.

方法:可以关了eureka的自我保护模式eureka.server.enableSelfPreservation=false

eureka也引用SpringBoot actuator监控管理

具体可以进行配置,配置成eureka server的ip,加上actuator

显示ip和实例id配置:

Spring cloud有两种最常用的服务调用方式,一种是ribbon+restTemplate,另一种是feign,所以本博客以学习为目的,简单介绍一下ribbon+restTemplate的方式,之后有时间再介绍feign的方式

ribbon+resttemplate方式,Spring Cloud Hoxton.SR6版本不需要引入spring-cloud-starter-netflix-ribbon,已经默认集成

引入web既可,主要是想调restTemplate

yaml配置:

关键点,使用SpringCloud的@LoadBalanced,才能调 http://EUREKA-SERVICE-PROVIDER/api/users/ ? 接口的数据,浏览器是不能直接调的

附录:

ok,本博客参考官方教程进行实践,仅仅作为入门的学习参考资料

以上是关于SpringCloud:如何使用Eureka进行服务治理?的主要内容,如果未能解决你的问题,请参考以下文章

SpringCloud学习系列-zuul路由网关

:服务注册是如何发起的

:服务注册是如何发起的

SpringCloud如何配置Eureka授权

聊聊如何对eureka管理界面进行定制化改造

SpringCloud组件:Eureka服务注册是采用主机名还是IP地址?