SpringCloud之Netflix服务发现(尤里卡)

  

前言

  

随着服务化编程思想的不断流行,越来越多的公司,企业,开发人员使用微服务技术。目前流行的两大微服务技术:达博\ SpringCloud。这篇文章不会去对达博和SpringCloud进行对比,这篇文章我主要想介绍SpringCloud全家桶中的netflix组件,结合实际案例代码进行说明。也对我工作中使用SpringCloud进行总结。

  NetFlix

  

netflix是收费视频网站公司的名字,全球十大视频网站之一,如果想了解的可自行Google.Spring云netflix是SpringCloud中的一个组件库,春云netflix通过自动配置和绑定到弹簧环境和其他春天编程模型习惯用法,为弹簧引导应用程序提供netflix OSS集成。通过一些简单的注解,可以快速启用和配置应用程序内的常见模式,netflix组件构建大型分布式系统。提供包括服务发现(尤里卡)熔断器(Hystrix)、智能路由(Zuul)和客户端负载均衡器(丝带)。

  

服务发现(尤里卡)

  

服务发现(尤里卡)是netflix的核心组件,它负责服务注册,管理服务列表。下面这幅图解释尤里卡的职责:
 SpringCloud之netflix服务发现(尤里卡)
所有服务都需要在Eureka-Server上进行注册登记,订单服务,产品服务,支付服务,用户服务都是尤里卡管理的服务,需要它们进行上报,上报的信息包括ServiceId,节点地址,服务接口等,那么注册中心就会通过心跳检查去维护这份服务列表。接下来我们编写一个Eureka-Server,产品服务模拟这种服务发现。

  

开发环境与工具:想法+ JDK8 + SpringBoot2.1.0
 SpringCloud之Netflix服务发现(尤里卡)
 SpringCloud之Netflix服务发现(尤里卡)”> <br/> <img src=
到这里就把项目创建起来了,但这个时候还只是一个SpringBoot的项目,需要开启EurekaServer注解。
 SpringCloud之Netflix服务发现(尤里卡)
同时我们把应用程序。yml配置一下:
 SpringCloud之Netflix服务发现(尤里卡)
我们启动该项目,用浏览器打开管理台。
 SpringCloud之Netflix服务发现(尤里卡)
到这里,我们就已经把EurekaServer写完了,那么我们接下来就是写产品服务。
在写之前我们先定一下提供的接口,列表接口提供所以产品信息,发现接口根据id查找商品信息.Product-Service,我们按照常规的模式进行编写分控制器,服务领域,过程如下:
 SpringCloud之Netflix服务发现(尤里卡)
 SpringCloud之Netflix服务发现(尤里卡)”> <br/> <img src=
 SpringCloud之Netflix服务发现(尤里卡)”> <br/>商品域类,包括id,名称,价格,库存。<br/> <img src=
 SpringCloud之Netflix服务发现(尤里卡)
到这里就已经写完了产品服务。我们还需要配置应用程序。yml,让这个服务自动注册到Eureka-Server去。
 SpringCloud之Netflix服务发现(尤里卡)

  

我们启动该产品服务。我们一共启动产品服务的三个实例8771 \ 8772 \ 8773,然后我们进入到Eureka-Server查看。
 SpringCloud之Netflix服务发现(尤里卡)
这个时候我们就看的到,产品服务服务已经自动注册到这里来了,一共有三个节点,端口分别是8771,8772,8773。
 SpringCloud之Netflix服务发现(尤里卡)

SpringCloud之Netflix服务发现(尤里卡)