前言
Spring Cloud
封装了 Netflix
公司开发的 Eureka
模块来实现 服务注册和发现。Eureka
采用了 C-S
的 设计架构。Eureka Server
作为 服务注册中心,系统中的 其他微服务,使用 Eureka
的 客户端 连接到 Eureka Server
,并通过 心跳连接 检测服务的 存活状态。
正文
-
Eureka Server: 作为 服务注册中心,提供 服务注册和发现。
-
Eureka Client: 所有注册到 服务中心 的服务。
-
Service Provider: 把 自身的服务 注册到
Eureka Server
,从而使 服务消费方 能够找到。 -
Service Consumer: 从
Eureka Server
获取 服务注册列表,从而能够 消费服务。
-
1. 创建服务注册中心
创建 2
个项目 Module
,一个 Module
(即 Spring Boot
)工程作为 服务注册中心,即 Eureka Server
,另一个作为 Eureka Client
。
Eureka Server
创建完后的工程 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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>io.ostenant.github.springcloud</groupId>
<artifactId>eureka-server</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>eureka-server</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Dalston.SR1</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency