文档章节

springCloud的注册中心eureka

xiongsheng
 xiongsheng
发布于 2018/03/07 09:43
字数 536
阅读 26
收藏 4

1、服务端启动

1、配置文件

application.yml

info:
  app:
    name: 注册中心服务器
  version: 1.0.0-SNAPSHOT

server:
  port: 1111
  tomcat:
    max-threads: 1000
    uri-encoding: UTF-8

spring:
  profiles:
    active: dev
  application:
    name: pluto-cerberus
  http:
    encoding:
      charset: UTF-8
      force: true

eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    serviceUrl:
      defaultZone: "http://peer1:1111/eureka/,http://peer2:1111/eureka/,http://peer3:1111/eureka/"
  server:
    # 清理间隔(单位毫秒,默认是60*1000)
    eviction-interval-timer-in-ms: 5000
    enable-self-preservation: false

 

启动类:

@EnableEurekaServer 
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class,args);
    }
}

@EnableEurekaServer 服务端启动注解

2、客户端启动

@EnableEurekaClient //启动EnableEureka客户端

 

SpringCLoud中的“Discovery Service”有多种实现,比如:eureka, consul, zookeeper。

1,@EnableDiscoveryClient注解是基于spring-cloud-commons依赖,并且在classpath中实现; 
2,@EnableEurekaClient注解是基于spring-cloud-netflix依赖,只能为eureka作用;

如果你的classpath中添加了eureka,则它们的作用是一样的。

 

2、客户端配置文件

application.yml配置

1

2

3

4

5

6

7

8

9

10

11

12

server:

  port: 8081 #8181

spring:

  application:

    name: microservice-provider-user

eureka:

  client:

    serviceUrl:

      defaultZone: http://user:123456@localhost:8761/eureka  #注册 中心已经开启认证

  instance:

    prefer-ip-address: true

    instanceId: ${spring.application.name}:${spring.application.instance_id:${server.port}}

 

客户端启动注解:

@EnableFeignClients  微服务之间的调用

微服务 通过EnableFeignClients调用其他服务的api

今天在项目上遇到一个问题,通过当前service服务要调用到其他service服务的api接口时,可通过EnableFeignClients调用其他服务的api,大概的步骤如下:

1、在springboot的main处加上注解@EnableFeignClients

复制代码

1 @EnableDiscoveryClient
 2 @SpringBootApplication
 3 @EnableFeignClients
 4 public class DeploymentServiceApplication {
 5 
 6     public static void main(String[] args){
 7         SpringApplication.run(DeploymentServiceApplication.class, args);
 8     }
 9 
10 }

复制代码

 

2、在service层上实现接口,这里注意value可以用serviceId代替,但是最好用value来指定要调用的服务。

      fallback是当程序错误的时候来回调的方法

      方法中要用@PathVariable要注解参数

1 @FeignClient(value = "hap-user-admin-service", fallback = OrganizationLabelFeignClientFallback.class)
2 public interface OrganizationLabelFeignClient {
3     @RequestMapping(value = "/v1/organizations/{id}",method = RequestMethod.GET)
4     Organization queryOrgLabel(@PathVariable(name="id") Long id);
5 }


3、编写程序错误时的回调类,实现接口,在错误时回调

复制代码

1 @Service
2 public class OrganizationLabelFeignClientFallback implements OrganizationLabelFeignClient {
3     @Override
4     public Organization queryOrgLabel(Long id) {
5         return null;
6     }
7 }

复制代码


4、调用该服务

复制代码

1 //声明,自动封装
2 @Autowired
3 private OrganizationLabelFeignClient organizationLabelFeignClient;
4 
5 
6 //调用
7 Organization organization = organizationLabelFeignClient.queryOrgLabel(organizationId);

复制代码

 

 

© 著作权归作者所有

xiongsheng
粉丝 2
博文 68
码字总数 35128
作品 0
程序员
私信 提问
SpringCloud学习系列之四-----配置中心(Config)使用详解

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

虚无境
06/01
0
0
史上最简单的 SpringCloud 教程 | 终章

版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接 ,博主地址:http://blog.csdn.net/forezp。 https://blog.csdn.net/forezp/article/details/70148833 转载请标明出处...

方志朋
2017/04/12
0
0
EurekaServer高可用

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

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

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

虚无境
05/31
0
0
SpringCloud微服务入门

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

全世界最好的肥猪精
2018/12/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

我对算卦的认识

现在越来越认识到算卦其实就是帮自己尽快的做一个决定。 有一次看锵锵三人行,有一期一个嘉宾讲了他去算卦的事情。当时他有两个选择,一个是从商,一个是当演员。算卦的结果是当演员,他就放...

我是菜鸟我骄傲
10分钟前
0
0
获取小程序链接

https://zhidao.baidu.com/question/494453810708570772.html

Js_Mei
13分钟前
0
0
AIOps落地的前提条件探索

笔者根据自身的技术和行业理解,探索分析AIOps在企业落地的前提条件。 涉及关键字:自动化运维、AIOps、技术运营PaaS、蓝鲸等。 作者:张敏 AIOps概念 Gartner在2016年时便提出了AIOps的概念...

嘉为科技
23分钟前
0
0
unix创建用户

一、切换到root 切换 root sudo -i 回车输入root用户的密码 查看各用户ID dscl . -list /Users UniqueID 查看用户所属组ID dscl . -read /Users/root PrimaryGroupID 查看各组ID dsc...

hexiaoming123
24分钟前
0
0
Cookie起源与发展

上一篇我们在讲优酷弹幕爬虫的时候,引入了一个新的知识点:Cookie,由于篇幅有限当时只是简单的给大家介绍了一下它的作用,今天我们就来全面了解一下Cookie(小饼干)以及相关的知识! 相信...

猪哥66
25分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部