第二章 服务治理:spring cloud eureka

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/han1196639488/article/details/80535780

服务治理可以说是微服务架构最核心和基础的模块,他主要实现各服务之间自动化注册和发现服务。那为什么要引入服务治理呢?
当我们刚创建微服务的时候,服务模块很少,我们可以采用静态配置的方式来进行服务之间的调用,例如:服务A和服务B,A调用服务B,A需要维护B的实例清单才能进行精确调用,但是当服务越来越多时,维护成本大大加高,手工维护服务的实例清单更加困难,这个时候就需要一个服务治理的东东来帮助我们维护这些服务实例清单。

服务的注册: 在服务治理框架中,通常会构建一个注册中心,每个服务单元向注册中心注册自己的服务信息,将主机、端口号、版本号、通信协议等信息告知注册中心,注册中心按服务名来划分服务清单。当我们给服务A启动两个服务实例时,我们通过A的服务名来调用,注册中心通过服务名帮助我们找到对应的服务实例的信息。
服务发现 服务的发现也就是我们上面说的,服务的调用不在通过具体指定服务的地址来调用,而是通过服务名来调用。在调用A服务时,并不需要知道A服务实例的具体端口,地址,只需要向服务注册中心咨询A服务的实例清单,就可以完成服务的调用。

Eureka实现服务的注册与发现,它既包含了服务端,也包括了客户端。它使用java编写,所以只适用于java语言的程序。
eureka服务端,就是我们说的注册中心,他支持高可用配置。就是启动多个注册中心,他们通过异步的方式进行相互之间复制服务清单,这样当一个注册中心挂掉之后,其他的注册中心依然可以拥有服务清单信息。
Eureka客户端,主要负责服务的注册与发现工作。客户端通过注解或者参数配置的形式,eureka客户端向注册中心注册自身提供的服务并周期性的发起心跳来更新自己服务的租约。同时也能向注册中心发起查询请求,查询当前所有服务清单列表,并把他们缓存在本地,周期性的刷新服务状态。

搭建服务注册中心

1.首先创建springboot工程,命名为eureka,在pom.xml中加入依赖

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka-server</artifactId>
        </dependency>

通过@EnableEurekaServer注解来表明这是一个注册中心服务端

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

然后再来看配置文件

server:
  port: 8761
spring:
  application:
    name: eruka
# 通过eureka.client.registerWithEureka:false和fetchRegistry:false来表明自己是一个eureka server.
eureka.client.registerWithEureka:false
eureka.client.fetchRegistry:false

eureka.client.registerWithEureka:false 表示是否向注册中心注册自己,false表示不注册自己
eureka.client.fetchRegistry:false 表示是否检索其他服务,这里注册中心不需要去检索。

配置好之后我们启动服务,运行EurekaApplication类的main方法

这时我们在浏览器输入:local host:8761会显示如下界面,说明我们的eureka服务启动完成。
这里写图片描述
我们目前还没有任何其他的服务,所以在页面上看不到服务清单,下一张我们将继续讲解如何将服务注册到eureka上去。

猜你喜欢

转载自blog.csdn.net/han1196639488/article/details/80535780