转载请注明出处:https://blog.csdn.net/weixin_41133233/article/details/85070323
本文出自 程熙cjp 的博客
一. SpringCloud介绍:
Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁定,领导选举,分布式会话,集群状态)。分布式系统的协调导致锅炉板模式,使用Spring Cloud开发人员可以快速站起来实现这些模式的服务和应用程序。它们适用于任何分布式环境,包括开发人员自己的笔记本电脑,裸机数据中心和Cloud Foundry等托管平台。
二.项目demo简介和环境
(1)项目简介
这是一个普通的,查询用户信息的简单入门案例
(2) 项目环境
- 操作系统是window10
- 开发工具是idea,版本是2018.1.5
- JDK版本是1.8
(3)项目代码
- GitHub上的代码:GitHub上Eureka实例代码
三.搭建eureka项目
-
第一步
-
第二步
-
第三步
-
第四步
-
第五步(最后一步)
好了,至此项目创建完成了。接下来是配置项目环境了。
四. 配置eureka项目环境
1. pom文件
<?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.chengxi</groupId>
<artifactId>eureka_test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>eureka_test</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.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>
<!-- SpringCloud版本,是最新的F稳定系列,也有其他更新一级的Greenwich.M3版本,但是不稳定大项目不建议使用 -->
<spring-cloud.version>Finchley.RC1</spring-cloud.version>
</properties>
<dependencies>
<!-- Eureka服务端 -->
<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-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<!-- SpringCloud依赖,一定要放到dependencyManagement中,起到管理版本的作用即可 -->
<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>
<!--SpringCloud的官网仓库地址,这里是配置仓库的方法之一。在项目中配置仅作用于当前项目,在下载坐标时优先从这里配置的仓库中查找,如果没有再从本地配置的仓库查找-->
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</project>
2. yml文件
server:
# 注意这里的eureka注册是个模板,在搭建集群的时候会被多次复制,其中Eureka01的端口号是:8091,Eureka02的端口号是8092。注意修改
port: 8090
spring:
application:
# 服务注册列表中的应用名称,会在Eureka中显示(注意中间不要以下划线连接,否则会注册错误。)
name: eureka-server
eureka:
client:
# 是否注册自己的信息到EurekaServer,默认是true。搭建集群的时候需要互相注册,提高项目的高可用性。在用Dashboard模板时,重新修改配置文件部署在Tomcat相当于把原来的复制了一份
register-with-eureka: true
# 是否拉取其它服务的信息,默认是true,同上
fetch-registry: true
# EurekaServer的地址,现在是自己的地址,如果是集群,需要加上其它Server的地址。
service-url:
# 注意搭建eureka集群的时候,要相互注册,需要修改此处配置,这里暂时不搭建集群,注册在自己的服务列表中
defaultZone: http://127.0.0.1:8090/eureka
# defaultZone: http://127.0.0.1:${server.port}/eureka # 这个是自动获取当前端口号的注册,yml语法${}
-
添加SpringBoot启动类配置
-
启动SpringBoot项目
运行结果如图:
至此,小熙分享的一个简单的Eureka服务器已经搭建好了。下一章小熙将会详细讲解eureka和搭建高可用的Eureka集群。