Spring Cloud Eureka 服务治理学习1 简介与系统搭建

Posted 编程圈子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Cloud Eureka 服务治理学习1 简介与系统搭建相关的知识,希望对你有一定的参考价值。

一、 Spring Cloud Eureka 简介

Eureka 是SpringCloud生态里的服务治理工具,提供配置管理、服务发现、断路器、路由、微代理、控制总线、全局锁、决策竞选、集群状态管理等功能支持。

Eureka 是Spring Cloud Netflix微服务套件的一部分,基于Netflix 做了二次封装。

值得注意的是,Spring Cloud应用中可以支持多种不同的服务治理框架,如Netflix Eureka、Consul、Zookeeper,这些服务治理可以无缝切换。

本系列文章主要针对 Eureka 的服务注册、服务发现进行讲解,其功能简单分析如下:

服务注册

业务启动后,每个服务要向注册中心记录自身的ip、端口、方法、参数等信息,注册中心负责监测清单中的服务是否可用,不可用的话就从服务清单中剔除。

服务发现

调用方需要在注册中心咨询可用的服务,并获取所有服务的实例清单。调用方发起调用时,按某种策略选择一个服务进行调用。这个过程就是服务发现的过程。

二、搭建Eureka Server

1. 创建一个新的maven项目

在这里插入图片描述

2. POM设置

注意SpringBoot与SpringCloud版本对应关系:

SpringBoot版本SpringCloud版本
1.2.XAngel
1.3.XBrixton
1.4.XCamden
1.5.XDalston或者Edgware
2.0.XFinchley
2.1.XGreenwich.SR2

官网查看地址

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.cn.cloud</groupId>
    <artifactId>spring-cloud-eureka</artifactId>
    <version>1.0.0</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.6.RELEASE</version>
    </parent>
    <properties>
        <spring-boot-admin.version>2.1.6</spring-boot-admin.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka-server</artifactId>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Greenwich.SR2</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>

3. 入口类

package com.cn.cloud;


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;


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

4. 配置文件

server:
  port: 8080
eureka:
  instance:
    hostname: localhost
  client:
#    注册中心不要注册自己  
    registerWithEureka: false
#    注册中心不需要检索服务    
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

三、启动项目,打开网页

http://localhost:8080
在这里插入图片描述

以上是关于Spring Cloud Eureka 服务治理学习1 简介与系统搭建的主要内容,如果未能解决你的问题,请参考以下文章

基于Spring Cloud的微服务构建学习-3 Spring Cloud Eureka配置详解

spring cloud 之eureka配置

spring cloud 之 Eureka

Spring Cloud微服务实战-服务治理(Spring Cloud Eureka)

spring cloud 使用Eureka作为服务注册中心

Spring Cloud官方文档中文版-服务发现:Eureka服务端