springcloud--注册中心Eureka

Eureka作为Spring Cloud核心组件,负责服务的注册与发现,简化了分布式系统中服务间的调用。本文介绍了Eureka的基本架构,包括EurekaServer、ServiceProvider和服务消费者,并通过实例演示了如何搭建Eureka注册中心。

 

Eureka是springcloud的核心组件之一,管理各种服务功能包括服务的注册、发现、负载、熔断等。

让我们来看下Eureka是怎么工作的。

    如果一个项目A需要去调用项目B的服务,那么项目B需先把服务注册到Eureka注册中心里,项目A在通过注册中心去获取项目B的服务。

  如果项目A需要调用项目B的服务然后项目B又要调用项目C的服务,那么项目B和C需要先把服务注册到注册中心,项目A从注册中心获取项目B的服务,项目B再从注册中心去获取项目C的服务。

如果是简单两三个项目之间,直接调用也会比较直观方便,可是现在的分布式项目的规模都是拆分到10个、20个项目以上,这样去直接调用的话,维护起来太痛苦了,所以我们采用Eureka注册中心的方式,不用考虑相互的调用关系和各个环境的服务地址等,只需要把服务注册到注册中心,要用的一方去注册中心获取可用的服务就可以了。

我们来看看Eureka的基本架构:

Eureka有三部分组成:

a、Eureka Server:提供服务的注册和发现

b、Service Provider:服务提供方,需要在Eureka注册中心注册服务

c、Service Consumer:服务消费方,从Eureka注册中心获取服务列表,消费服务

一个Eureka注册中心的简单例子:

1、首先要先新建好一个springboot项目,然后加入以下依赖:

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter</artifactId>
            <version>1.3.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka-server</artifactId>
            <version>1.3.6.RELEASE</version>
        </dependency>

2、在启动类上加入@EnableEurekaServer注解

@SpringBootApplication
@EnableEurekaServer
public class SpringCloudEurekaApplication {

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

3、在application.properties文件里面加入以下配置

#修改端口
server.port=8000
#spring cloud
spring.application.name=spring-cloud-eureka
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/
eureka.client.register-with-eureka:是否把自己注册到Eureka Server中,默认为true。
eureka.client.fetch-registry:是否从Eureka Server中获取注册服务,默认为true。
eureka.client.serviceUrl.defaultZone:与Eureka Server交互的地址。

4、启动服务,访问localhost:8000可以看到以下界面,而且服务列表是空的,因为还没有服务注册进来。

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值