文档章节

学习springcloud的Eureka(注册和调用服务)。记录其中遇见的问题(参考纯洁的微笑)

夜中孤影
 夜中孤影
发布于 04/08 18:10
字数 725
阅读 5
收藏 0

下午有时间,继续接着,上次的看。

上次已经完成了Eureka的搭建,和集群,今天开始研究服务的注册和发布

创建一个工程,为注册服务,向Eureka服务中心,进行注册

选择好以后,创建成功注册服务工程

开始进行配置

application.properties配置文件 里面,增加服务配置

spring.application.name=spring-cloud-consumer
server.port=9000
eureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka/

spring.application.name 服务名称,用户服务之间,进行调用

port端口    eureka.client.serviceUrl.defaultZone设置与Eureka Server交互的地址,查询服务和注册服务都需要依赖这个地址。多个地址可使用 , 分隔。

Springboot的启动文件增加配置注解,让Eureka发现此服务,进行注册

@EnableDiscoveryClient//启用服务注册与发现

启动项目,访问Eureka8000端口,发现,新增了一个服务,服务名,与配置文件相同

创建controller

package com.example.democloudserver.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    /**
     * 测试服务注册
     * @param name
     * @return
     */
    @GetMapping("/hello")
    public String index(@RequestParam String name){
        return "hello-2:"+ name;
    }
}

好了,这一步,已经说明,服务注册成功,下面,创建调用服务,用过Eureka调用,刚才注册的服务

创建调用服务和之前基本相同,idea创建工程,就可以,唯一不同的是,调用服务,需要Feign,所有,在这里,还要进行勾选这个

创建成功项目,开始配置

spring.application.name=spring-cloud-consumer
server.port=9001
eureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka/

启动项配置

@EnableDiscoveryClient//启用服务注册与发现
@EnableFeignClients//启用feign进行远程调用

开启feign的作用,是进行远程调用,开启EnableDiscoveryClient,是为了让Eureka发现

创建一个接口,通过注解,远程调用刚才的注册服务

package com.example.servicefeign.interfaceServer;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@FeignClient(name= "spring-cloud-producer")
//name:远程服务名,及spring.application.name配置的名称
public interface HelloRemote {

    @RequestMapping(value = "/hello")
    public String hello(@RequestParam(value = "name") String name);

}

定义好了以后,可以注入controller,进行调用

package com.example.servicefeign.controller;

import com.example.servicefeign.interfaceServer.HelloRemote;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @Autowired
    HelloRemote hello;//注册接口层

    @RequestMapping("/hello/{name}")
    public String index(@PathVariable("name") String name) {
        return hello.hello(name);
    }
}

启动服务调用层,访问controller进行访问,调动注册的服务,成功

这里,我也顺便测试了,服务中心提供的服务均衡负载

注册服务,设置不同的端口,相同的服务名,进行启动,修改输出controller输出为

"hello-2:"+ name
"hello-1:"+ name

页面多次请求,发现两种结果交替出现。

本文转载自:http://www.ityouknow.com/spring-cloud

夜中孤影

夜中孤影

粉丝 5
博文 13
码字总数 433
作品 0
其它
私信 提问
SpringCloud学习系列之二 ----- 服务消费者(Feign)和负载均衡(Ribbon)

前言 本篇主要介绍的是SpringCloud中的服务消费者(Feign)和负载均衡(Ribbon)功能的实现以及使用Feign结合Ribbon实现负载均衡。 SpringCloud Feign Feign 介绍 Feign是一个声明式的Web Servi...

虚无境
01/15
322
0
SpringCloud微服务入门

SpringCloud微服务入门 初识SpringCloud Eureka注册中心 HelloWorld 1.初识SpringCloud 1.1 简介 : springCloud是基于SpringBoot的一整套实现微服务的框架。因为它不是一个组件,而是许多组件...

全世界最好的肥猪精
2018/12/03
0
0
SpringCloud学习系列之四-----配置中心(Config)使用详解

前言 本篇主要介绍的是SpringCloud中的分布式配置中心(SpringCloud Config)的相关使用教程。 SpringCloud Config Config 介绍 Spring Cloud Config项目是一个解决分布式系统的配置管理方案。...

虚无境
06/01
89
0
EurekaServer高可用

前言 之前一篇文章文章《服务注册与发现---eureka》介绍了单点EurekaServer。但是实际环境中,这种单点的的模式可能会有很多隐形的问题。比如EurekaServer发生宕机,或者某些意外情况发生,很...

dalaoyang
2018/06/15
0
0
SpringCloud学习系列之三----- 断路器(Hystrix)和断路器监控(Dashboard)

前言 本篇主要介绍的是SpringCloud中的断路器(Hystrix)和断路器指标看板(Dashboard)的相关使用知识。 SpringCloud Hystrix Hystrix 介绍 Netflix创建了一个名为Hystrix的库,它实现了断路器模...

虚无境
05/31
127
0

没有更多内容

加载失败,请刷新页面

加载更多

64.监控平台介绍 安装zabbix 忘记admin密码

19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabbix 19.5 忘记Admin密码如何做 19.1 Linux监控平台介绍: 常见开源监控软件 ~1.cacti、nagios、zabbix、smokeping、ope...

oschina130111
今天
13
0
当餐饮遇上大数据,嗯真香!

之前去开了一场会,主题是「餐饮领袖新零售峰会」。认真听完了餐饮前辈和新秀们的分享,觉得获益匪浅,把脑子里的核心纪要整理了一下,今天和大家做一个简单的分享,欢迎感兴趣的小伙伴一起交...

数澜科技
今天
7
0
DNS-over-HTTPS 的下一代是 DNS ON BLOCKCHAIN

本文作者:PETER LAI ,是 Diode 的区块链工程师。在进入软件开发领域之前,他主要是在做工商管理相关工作。Peter Lai 也是一位活跃的开源贡献者。目前,他正在与 Diode 团队一起开发基于区块...

红薯
今天
12
0
CC攻击带来的危害我们该如何防御?

随着网络的发展带给我们很多的便利,但是同时也带给我们一些网站安全问题,网络攻击就是常见的网站安全问题。其中作为站长最常见的就是CC攻击,CC攻击是网络攻击方式的一种,是一种比较常见的...

云漫网络Ruan
今天
12
0
实验分析性专业硕士提纲撰写要点

为什么您需要研究论文的提纲? 首先当您进行研究时,您需要聚集许多信息和想法,研究论文提纲可以较好地组织你的想法, 了解您研究资料的流畅度和程度。确保你写作时不会错过任何重要资料以此...

论文辅导员
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部