当前位置: 代码迷 >> 综合 >> SpringCloud 第一篇: 服务注册中心(Eureka)
  详细解决方案

SpringCloud 第一篇: 服务注册中心(Eureka)

热度:17   发布时间:2023-10-25 16:23:50.0

    在Spring Cloud里,负责微服务注册与发现的项目是Spring Cloud Netflix项目中的Eureka组件。Eureka分为两大部分,Eureka Server与Eureka Client。很显然,Eureka Server负责管理、协调所有的微服务提供者,即Eureka Client,因此我们要使用创建协作的微服务框架,首先必须创建Eureka Server。

1.建立Spring Cloud 父项目

先创建一个空项目用来存放所有的微服务。



2.创建服务注册中心





创建完后的工程的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.example</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>demo</name><description>Demo project for Spring Boot</description><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.2.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><spring-cloud.version>Finchley.BUILD-SNAPSHOT</spring-cloud.version></properties><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build><repositories><repository><id>spring-snapshots</id><name>Spring Snapshots</name><url>https://repo.spring.io/snapshot</url><snapshots><enabled>true</enabled></snapshots></repository><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository></repositories></project>

3.添加注册中心注解

    注册中心的启动需要在SringBoot工程启动类上面添加一个@EnableEurekaServer注解。

package com.example.demo;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;@SpringBootApplication
@EnableEurekaServer
public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}
}

4.配置信息

设置eureka配置信息,eureka是一个高可用的组件,它没有后端缓存,每一个实例注册之后需要向注册中心发送心跳,在默认情况下erureka server也是一个eureka client ,必须要指定一个 server。eureka server的配置文件appication.yml:

server:port: 10000eureka:instance:hostname: localhostclient:#表示是否注册自身到eureka服务器(false 本身就是注册中心)registerWithEureka: false#是否从eureka服务器获取注册信息fetchRegistry: falseserviceUrl:#设置Eureka服务器地址defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

5.访问注册中心

    Spring Cloud 的注册中心是有界面的,启动注册中心,浏览器访问  http://localhost:10000/。


因为暂时没有注册服务,所以现在显示没有发现服务。