ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SpringCloud学习之Eureka注册和发现服务

2022-08-22 16:00:09  阅读:297  来源: 互联网

标签:SpringCloud eureka application 注册 步骤 Eureka properties


Eureka有三个基本概念

  1.注册中心(Eureka):提供服务注册和发现。

  2.服务提供者(Provider):将服务注册到Eureka中。

  3.服务消费者(Consumer):使用Eureka中注册的服务。

Eureka由两个组件组成:

  1.Eureka服务器:用来注册服务的服务器。

  2.Eureka客户端:服务提供者和服务调用者都可以客户端。

 

创建注册中心(EurekaServer)

步骤1:pom.xml主要配置使用版本以及一些基础信息和依赖关系包。

 步骤2:Application.class主要配置EnableEurekaServer注解

 步骤3:application.properties

基本知识要点

1.springcloud常用注解

    服务端使用@EnableEurekaServer,客户端使用@EnableEurekaClient,并且他们都是使用在启动类中。

    @EnableEurekaClient和@EnableDiscoveryClient区别:如果选用的注册中心是eureka,那么就推荐@EnableEurekaClient,如果是其他的注册中心,那么推荐使用@EnableDiscoveryClient。

2.关于properties主要配置的内容

    eureka.client.register-with-eureka:表示是否将自己注册到Eureka Server,默认为true

    eureka.client.fetch-register:表示是否从Eureka Server获取注册信息,默认为true

    eureka.client.servicUrl.defaultZone:设置与Eureka Server交互的地址,查询服务和注册服务都需要依赖这个地址。

 

搭建过程中的一些问题如下

 解决方案:这个问题需要在application.properties里添加 hostname 这项配置,奇葩的是这个地方只能配 localhost,配成其他值一样会报上述错误。

 

创建服务提供者(Provider)

步骤1:pom.xml

 

 

 

 

步骤2:启动类application添加@EnabelEurekaClient注解

 

步骤3:application.properties

 

 

 

步骤4:编写controller

服务提供者配置要点总结:

1.pom.xml使用的是spring-cloud-starter-netflix-eureka-client依赖关系包。

2.启动类application添加@EnabelEurekaClient注解

3.properties中eureka.client.register-with-eureka 和 eureka.client.fetch-register要设置成true,eureka.client.servicUrl.defaultZone要指向你注册的服务器地址。

 

创建服务消费者(Consumer)

步骤1:pom.xml

 

步骤2:启动类application添加@EnabelEurekaClient注解,图中注册的Bean是利用RestTemplate访问服务。

 

 

步骤3:application.properties

 

步骤4:编写controller

 

 

服务消费者配置要点总结:

1.pom.xml,启动类,properties配置基本与服务提供者一致。

2.在调用服务的时候url地址要写服务提供者在注册中心的Application名,也就是服务提供者的properties中spring.application.name。

3.消费者要与提供者的注册中心url地址要相同才能调用到服务。

 

 

 

 

 

 

 

 

 

 

 

 

 

标签:SpringCloud,eureka,application,注册,步骤,Eureka,properties
来源: https://www.cnblogs.com/michaelShao/p/16602656.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有