SpringCloud系列研究---Eureka服务注册

通过注解@EnableEurekaClient 表明自己是一个eurekaclient,也即服务的提供者。

启动类代码如下:

 1 package com.cloud.microservice.demo;
 2
 3 import org.springframework.boot.SpringApplication;
 4 import org.springframework.boot.autoconfigure.SpringBootApplication;
 5 import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
 6 import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
 7 import org.springframework.context.annotation.ComponentScan;
 8
 9 @SpringBootApplication
10 @EnableDiscoveryClient
11 @EnableEurekaClient
12 @ComponentScan("com.cloud.microservice.demo")
13 public class DemoProviderApplication {
14
15     public static void main(String[] args) {
16         SpringApplication.run(DemoProviderApplication.class, args);
17     }
18 }

为了把启动类和接口分离,我这里新建了一个provider包,把Rest接口UserProvider.java放在该路径下,工程结构如下:

UserProvider.java代码如下:

 1 package com.cloud.microservice.demo.provider;
 2
 3 import org.springframework.cloud.netflix.feign.FeignClient;
 4 import org.springframework.web.bind.annotation.RequestMapping;
 5 import org.springframework.web.bind.annotation.RequestMethod;
 6 import org.springframework.web.bind.annotation.RequestParam;
 7 import org.springframework.web.bind.annotation.RestController;
 8
 9 @FeignClient(name = "ms-demo-provider")
10 @RestController
11 @RequestMapping("/demo/user")
12 public class UserProvider {
13
14     @RequestMapping(value="/1.0/findAll",method= RequestMethod.GET)
15     public String findAll(@RequestParam String name)
16     {
17         return "hello,this is  "+name;
18     }
19 }

配置文件application.yml如下:registerWithEureka表示是否注册自身到eureka服务器,由于当前该应用就是eureka服务,为了在Eureka服务上能看到注册信息,这里设为true;fetchRegistry表示是否从eureka服务器获取注册信息。

 1 server:
 2   port: 8090
 3
 4 eureka:
 5   instance:
 6     hostname: localhost
 7   client:
 8     registerWithEureka: true
 9     fetchRegistry: false
10     serviceUrl:
11       defaultZone: http://${eureka.instance.hostname}:9090/eureka/
12
13 spring:
14   application:
15     name: ms-demo-provider

启动工程,打开http://localhost:9090 ,即eureka server 的网址,这时会发现一个服务已经注册在服务中了,服务名为MS-DEMO-PROVIDER ,端口为8090。

在浏览器地址栏中输入http://localhost:8090/demo/user/1.0/findAll?name=helloworld,如下图,说明服务接口访问正常。

时间: 2024-10-04 17:15:36

SpringCloud系列研究---Eureka服务注册的相关文章

SpringCloud系列研究---Eureka服务消费Feign

一.Feign简介 Feign是一种声明式.模板化的HTTP客户端.这使得Web服务客户端的写入更加方便 要使用Feign创建一个界面并对其进行注释.它具有可插入注释支持,包括Feign注释和JAX-RS注释.Feign还支持可插拔编码器和解码器.Spring Cloud增加了对Spring MVC注释的支持,并使用Spring Web中默认使用的HttpMessageConverters.Spring Cloud集成Ribbon和Eureka以在使用Feign时提供负载均衡的http客户端.这

SpringCloud系列研究---Eureka服务发现

:创建项目工程 新建project 这里选择gradle 直接next 继续next 最后点击finish 二:创建Eureka服务中心 选择第一步中创建的项目,右键选择new--->module 选择Spring Initializr,然后next 这里输入Group.Artifact,并选择Gradle Project,然后next 选择Eureka Server,然后点击next 输入module name然后finish 我这里把几个都勾上了,然后OK 三:代码 代码很简单,只需要在sp

SpringCloud学习系列-Eureka服务注册与发现(2)

构建 microservicecloud-eureka-7001 eureka服务注册中心Module 1.新建microservicecloud-eureka-7001 2.pom <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mav

SpringCloud(3)---Eureka服务注册与发现

Eureka服务注册与发现 一.Eureka概述 1.Eureka特点 (1) Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移. (2) Eureka 主管服务注册与发现,在微服务中,以后了这两者,只需要使用服务的标识符(==就是那个在每个服务的yml文件中取得服务名称==), 就可以访问到服务,不需要修改服务调用的配置文件. (3) Eureka遵循AP原则(高可用,分区容错性),因为使用了自我保护机制所以保证了高可用. 2.Eureka两大组件 两大组

SpringCloud:Eureka服务注册与发现

1.Eureka简介 Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务注册和发现(请对比Zookeeper). Eureka 采用了 C-S 的设计架构.Eureka Server 作为服务注册功能的服务器,它是服务注册中心. 而系统中的其他微服务,使用 Eureka 的客户端连接到 Eureka Server并维持心跳连接. 这样系统的维护人员就可以通过 Eureka Server 来监控系统中各个微服务是否正常运行. SpringCloud 的一些其

Spring-cloud &amp; Netflix 源码解析:Eureka 服务注册发现接口 ****

http://www.idouba.net/spring-cloud-source-eureka-client-api/?utm_source=tuicool&utm_medium=referral *************************** 先关注下netflix eureka server 原生提供的接口.https://github.com/Netflix/eureka/wiki/Eureka-REST-operations 这是对非java的服务使用eureka时可以使用的r

springcloud费话之Eureka服务访问(restTemplate)

目录: springcloud费话之Eureka基础 springcloud费话之Eureka集群 springcloud费话之Eureka服务访问(restTemplate) springcloud费话之Eureka接口调用(feign) springcloud费话之断路器(hystrix in feign) springcloud费话之配置中心基础(SVN) 完成了Eureka的服务器集群的搭建后,需要相互调用访问,该访问主要分为两种内容的请求 ①对集群中的所有客户端的注册信息请求 ②对集群

SpringCloud(二)服务注册与发现

离上一篇微服务的基本概念已经过去了几个月,在写那篇博客之前,自己还并未真正的使用微服务架构,很多理解还存在概念上.后面换了公司,新公司既用了SpringCloud也用了Dubbo+Zookeeper,就像上一篇文章说的,当一个服务是面向外部或者是直接提供给前端调用的,那么就使用SpringCloud,而一些内部公用的,比如一些特定服务(如发送短信),就使用Dubbo+Zookeeper,因为他在内部调用更像调用接一个接口,效率也会比较高,而一些模块型的功能,我们则使用SpringCloud. 在

Eureka 服务注册与发现

1.简介EureKa在Spring Cloud全家桶中担任着服务的注册与发现的落地实现.Netflix在设计EureKa时遵循着AP原则,它基于R EST的服务,用于定位服务,以实现云端中间层服务发现和故障转移,功能类似于Dubbo的注册中心Zookeeper. 2.实现原理 EureKa采用C-S的设计架构,即包括了Eureka Server(服务端),EureKa client(客户端). 1.EureKa Server 提供服务注册,各个节点启动后,在EureKa server中进行注册: