Eureka介绍
Eureka是微服务架构中的服务注册中心,管理所有的微服务,所有拆分的微服务都需要向Eureka中注册,打个比喻,eureka服务注册中心就像一个高级写字楼中的物业,所有拆分后的单个微服务就是写字楼入驻的每个企业,要想入驻进来,就需要在物业也就是eureka 注册登记,这个概念很重要,后面用到的所有服务第一步都是需要向eureka注册。
其中eureka 分为服务端和客户端,作为注册中心就是服务端,等待别的服务来我这注册,而每个服务就是客户端,需要向其他注册中心注册。
创建eureka服务端 服务注册中心
打开IDEA File>New>Project 创建新项目。
选择默认即可直接点击 Next。
填写相关信息继续Next。
作为服务注册中心,需要使用Eureka Server依赖,这里直接勾上,不选也没关系,项目创建后在pom.xml再加也可以,继续Next。
选择项目保存的路径 Finish 创建完成,创建后项目结构如下
查看下pom.xml依赖了哪些东西
其中完整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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.springcloud</groupId>
<artifactId>eureka</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>eureka</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>2020.0.4-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>
</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>
<releases>
<enabled>false</enabled>
</releases>
</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>
其中eureka作为注册中心,我们需要用到的依赖就是
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
修改application.properties 配置
完整配置如下
server.port=8761
# 应用名称,将会显示在Eureka界面的应用名称列
spring.application.name=EurekaServer
# 应用实例主机名
eureka.instance.hostname=localhost
# Eureka服务器的地址,类型为HashMap,缺省的Key为 defaultZone;缺省的Value为 http://localhost:8761/eureka
# 如果服务注册中心为高可用集群时,多个注册中心地址以逗号分隔。
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/
# 是否从Eureka获取注册信息,缺省:true
# 一般情况下,Eureka服务端是不需要的
eureka.client.fetch-registry=false
# 是否向注册中心注册自己,缺省:true
# 一般情况下,Eureka服务端是不需要再注册自己的
eureka.client.register-with-eureka=false
在Application启动类增加注解@EnableEurekaServer,表示本服务作为eureka服务注册中心服务端。
然后eureka作为注册中心搭建完成,启动项目。
项目启动完成,端口在 8761
打开浏览器 访问 http://localhost:8761/ 看到如下界面即完成
可以看到服务列表 显示No instances available,因为此时还没有任何其他服务来注册,所以是空的,到此eureka服务注册中心搭建结束。
本章项目下载地址:https://github.com/378526425/springcloud-eureka.git
评论区