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可以看到以下界面,而且服务列表是空的,因为还没有服务注册进来。

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

被折叠的 条评论
为什么被折叠?



