SpringCloud2.1.2之 Eureka

本文基于SpringBoot2.1.2

Eureka 简介

Eureka是一个用于服务注册和发现的组件,分为Eureka Server和Eureka Client,Eureka Server为Eureka服务注册中心,Eureka Client为Eureka客户端。
Eureka的基本框架主要包括3种角色:

  • Register Service:服务注册中心,是一个Eureka Server,提供服务注册与发现功能;

  • Provider Service:服务提供者,是一个Eureka Client,提供服务;

  • Consumer Service:服务消费者,是一个Eureka Client,消费服务。

服务消费基本过程:

(1)首先需要一个服务注册中心Eureka Server;

(2)服务提供者Eureka Client向服务注册中心Eureka Server注册,将自己的信息(服务名、服务IP地址)通过REST API的形式提交注册周年更新Eureka Server;

(3)服务消费者Eureka Client向服务注册中心Eureka Server注册,服务消费者获取服务注册列表信息。该列表信息包含所有向服务注册中心Eureka Server注册的服务信息;

(4)服务消费者Eureka Client获取服务注册列表信息之后,获得服务提供者的IP地址,通过HTTP远程调度来消费服务提供者的服务。
  
Eureka是SpringCloud首选推荐的注册与服务发现组件,与SpringCloud其他组件可以无缝对接。

项目示例,(后续的SpringCloud代理都基于此项目)

1. 在idea中创建 SpringCloud_Parent 父工程

2. 在父工程下创建eureka_server模块(即注册中心)

在这里插入图片描述
选择SpringBoot版本和初始化组件
在这里插入图片描述
创建完成后目录结构如下图:
在这里插入图片描述

3. 编写application.yml 配置文件

#服务端口号
server:
  port: 8100
  ###eureka基本配置信息
eureka:
  instance:
    hostname: 127.0.0.1
  client:
    service-url:
      ####注册地址
     defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
     ###因为自己是注册中心,是否需要将自己注册给自己(集群时是需要为 true)
    register-with-eureka: false
    #####因为自己是注册中心,不需要去检索服务信息
    fetch-registry: false

如果配置文件为application.properties 把后缀改为.yml即可,当然application.properties文件也是可以的,只是文件内容写法不同,可以自己百度下

4. 编写启动类 EurekaServerApplication

@SpringBootApplication
@EnableEurekaServer  //表示开启EurekaServer 服务,即开启注册中心
public class EurekaServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaServerApplication.class, args);
    }

}

5. 访问EurekaServer 注册中心
在浏览器 输入 127.0.0.1:8100
在这里插入图片描述
EurekaServer(即注册中心) 就搭建成功了

6. 创建服务提供者
在项目下新建一个memer-service(会员服务)作为服务提供者,并写一个接口,以便后面服务调用者调用
在这里插入图片描述

application.yml

#服务端口号
server:
  port: 8000
  ###服务名称 --注册到注册中心的服务名称
spring:
  application:
    name: mermber-service

###eureka基本配置信息
eureka:
  client:
    service-url:
      ####当前服务的注册中心地址
     defaultZone: http://localhost:8100/eureka
     ###需要将服务注册到eureka上
    register-with-eureka: true
    #####需要去检索服务信息
    fetch-registry: true

MemberController


@RestController
public class MemberController {

    @RequestMapping("/getMember")
    public String getMember(){
        return "this is a  member service:会员服务";
    }
}

启动类MemberApplication

@SpringBootApplication
@EnableEurekaServer  //表示开启EurekaServer 服务,即开启注册中心
public class MemberApplication {
    public static void main(String[] args) {
        SpringApplication.run(MemberApplication.class, args);
    }
}

这里服务提供者就搭建好了,接着先启动EurekaServerApplication(注册中心),再启动服务提供者MemberApplication,然后在浏览器输入:127.0.01:8100
在这里插入图片描述
已经有刚刚的会员服务了。说明会员服务已经注册上去了。点击后面的地址在拼上我们刚刚写的controller的路径
在这里插入图片描述
就访问到了刚刚写的接口中的内容了,至于在程序中如何调用,后面的文章中会讲到。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值