码迷,mamicode.com
首页 > 编程语言 > 详细

SpringCloud之Netflix服务发现(Eureka)

时间:2018-11-10 15:02:01      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:cli   png   domain   google   init   价格   vpd   service   端口   

前言

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

NetFlix

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

服务发现(Eureka)

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

开发环境与工具:IDEA+JDK8+SpringBoot2.1.0
技术分享图片
技术分享图片
技术分享图片
到这里就把项目创建起来了,但这个时候还只是一个SpringBoot的项目,需要开启EurekaServer注解。
技术分享图片
同时我们把application.yml配置一下:
技术分享图片
我们启动该项目,用浏览器打开管理台。
技术分享图片
到这里,我们就已经把EurekaServer写完了,那么我们接下来就是写Product-Service.
在写之前我们先定一下提供的接口,list接口提供所以产品信息,find接口根据id查找商品信息。Product-Service,我们按照常规的模式进行编写分Controller、Service、Domain,过程如下:
技术分享图片
技术分享图片
技术分享图片
技术分享图片
商品domain类,包括id,名称,价格,库存。
技术分享图片
技术分享图片
到这里就已经写完了Product-Service.我们还需要配置application.yml,让这个服务自动注册到Eureka-Server去。
技术分享图片

我们启动该Product-service。我们一共启动Product-Service的三个实例8771\8772\8773,然后我们进入到Eureka-Server查看。
技术分享图片
这个时候我们就看到,Product-Service服务已经自动注册到这里来了,一共有三个节点,端口分别是8771,8772,8773.
技术分享图片
接口也都可以使用。

我们可以停掉其中一个节点:8773,再去看下EurekaServer.
技术分享图片
我们发现eurekaserver上8773的product-service显示DOWN的红色字体,说明它是可以检查到服务的状态的,我们在此启动,你会发现down消失了。

备注:@EnableEurekaClient这个注解可以不用写的,因为我们SPRING INITIALIZR构建的项目IDE已经帮我们做好了很多工作,映入spring-cloud-starter-netflix-eureka-client,它就会自动去检查application.yml,我们在配置文件中已经配置了Eureka客户端相应的信息,那么这个应用就自动加上了@EnableEurekaClient。

SpringCloud之Netflix服务发现(Eureka)

标签:cli   png   domain   google   init   价格   vpd   service   端口   

原文地址:http://blog.51cto.com/4837471/2315338

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!