1、创建【服务中心】,即 Eureka Server

1.1、新建 Spring Boot 工程,工程名称: springcloud-eureka-server

1.2、工程 pom.xml 文件添加如下依赖:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

1.3、在工程启动类中,添加注解 @EnableEurekaServer

package com.miniooc.eurekaserver;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; /**
* EurekaServerApplication
*
* @author 宋陆
* @version 1.0.0
*/
@EnableEurekaServer // 启用 eureka server 相关默认配置
@SpringBootApplication // 等价于 @Configuration、@EnableAutoConfiguration、@ComponentScan
public class EurekaServerApplication { public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
} }

1.4、新建工程配置文件 application.yml ,配置内容:

server:
port: 9527 spring:
application:
name: eureka-server eureka:
instance:
hostname: localhost
client:
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
register-with-eureka: false # 默认为 true。设为 false,仅作为服务中心,不作为服务客户端。
fetch-registry: false # 默认为true。设为false,不从服务中心检索注册的服务。
server:
eviction-interval-timer-in-ms: 5000 #清理间隔(单位毫秒,默认是60*1000)
enable-self-preservation: true # 默认为true。设为false,关闭自我保护。
# Eureka Server 在运行期间会去统计心跳失败比例在 15 分钟之内是否低于 85%
renewal-percent-threshold: 0.1 # 默认是0.85

1.5、启动 服务中心 工程,打开浏览器,访问 服务中心 前台页面:http://localhost:9527

红框处 No instances available :没有可用的实例。目前还任何服务注册到服务中心。

至此,一个简单的单点服务中心搭建完成。

为了保证服务的高可用,我们需要把单点应用改成集群应用。

接下来,我们对服务中心工程做些配置修改,来完成集群部署。

2、搭建【服务中心】集群

2.1、创建工程配置文件 application-server1.yml ,配置内容:

server:
port: 9527 spring:
application:
name: eureka-server eureka:
instance:
hostname: localhost
client:
serviceUrl:
defaultZone: http://localhost:9527/eureka/,http://localhost:9528/eureka/,http://localhost:9529/eureka/
register-with-eureka: false # 默认为 true。设为 false,仅作为服务中心,不作为服务客户端。
fetch-registry: false # 默认为true。设为false,不从服务中心检索注册的服务。
server:
eviction-interval-timer-in-ms: 5000 #清理间隔(单位毫秒,默认是60*1000)
enable-self-preservation: true # 默认为true,设为false,关闭自我保护
# Eureka Server 在运行期间会去统计心跳失败比例在 15 分钟之内是否低于 85%
renewal-percent-threshold: 0.49 # 默认是0.85,本地单机测试设为0.49

参照2.1,创建工程配置文件 application-server2.yml,并修改 server.port 为 9528

参照2.1,创建工程配置文件 application-server3.yml,并修改 server.port 为 9529

2.2、在 IntelliJ IDEA 集成开发环境中,添加 spring boot 启动配置 EurekaServerS1,修改 Active profiles 为 server1

参照2.2, spring boot 启动配置 EurekaServerS2,修改 Active profiles 为 server2

参照2.2, spring boot 启动配置 EurekaServerS3,修改 Active profiles 为 server3

2.3、按照启动配置 EurekaServerS1、EurekaServerS2、EurekaServerS3 依次启动服务中心

2.4、打开浏览器,访问 服务中心 前台页面:http://localhost:9527,http://localhost:9528,http://localhost:9529

如果三个服务都启动成功的话,三个页面都应该看到如上图所示。

至此,一个简单的服务中心集群搭建完成。

3、本章小结

本章主要讲解了 Eureka Server 服务中心的搭建,并讲解如果扩展为集群应用。但服务中心的使用以及集群的优点,本章并未讲解,因为这需要 Eureka Client 服务提供者和 Eureka Discovery Client 服务发现者配合使用,后续的章节我们会讲解后两者的使用。

下一章,我们将讲解,如何创建 Eureka Client 服务提供者,并把我们的服务注册到服务中心,以及如何搭建服务提供者集群。

SpringCloud2.0 Eureka Server 服务中心 基础教程(二)的更多相关文章

  1. SpringCloud2.0 Feign 服务发现 基础教程(五)

    1.启动[服务中心]集群,即 Eureka Server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) 2.启动[服务提供者]集群,即 Eureka Cli ...

  2. SpringCloud2.0 Ribbon 服务发现 基础教程(四)

    1.启动[服务中心]集群,即 Eureka Server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) 2.启动[服务提供者]集群,即 Eureka Cli ...

  3. SpringCloud2.0 Zuul 网关路由 基础教程(十)

    1.启动基础工程 1.1.启动[服务注册中心],工程名称:springcloud-eureka-server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) ...

  4. SpringCloud2.0 Eureka Client 服务注册 基础教程(三)

    1.创建[服务提供者],即 Eureka Client 1.1.新建 Spring Boot 工程,工程名称:springcloud-eureka-client 1.2.工程 pom.xml 文件添加 ...

  5. 升级微服务架构1:搭建Eureka Server服务中心

    Spring Cloud中使用Eureka来做服务注册和发现,来统一管理微服务实例. 1.使用IDEA创建一个空的Maven项目做父模块 (也可以不用父项目,所有模块都用平行结构) 删除父模块src文 ...

  6. MySQL8.0数据库基础教程(二)-理解"关系"

    1 SQL 的哲学 形如 Linux 哲学一切都是文件,在 SQL 领域也有这样一条至理名言 一切都是关系 2 关系数据库 所谓关系数据库(Relational database)是创建在关系模型基础 ...

  7. Java基础教程——二维数组

    二维数组 Java里的二维数组其实是数组的数组,即每个数组元素都是一个数组. 每个数组的长度不要求一致,但最好一致. // 同样有两种风格的定义方法 int[][] _arr21_推荐 = { { 1 ...

  8. numpy基础教程--二维数组的转置

    使用numpy库可以快速将一个二维数组进行转置,方法有三种 1.使用numpy包里面的transpose()可以快速将一个二维数组转置 2.使用.T属性快速转置 3.使用swapaxes(1, 0)方 ...

  9. AngularJS 基础教程二:

    5.过滤器 过滤器的主要功能是格式化数据 可以使用Angular提供的过滤器,也可以自定义过滤器 Angular过滤器: currency(货币).date(日期).filter(子串匹配).json ...

随机推荐

  1. 【Activiti学习之八】Spring整合Activiti

    环境 JDK 1.8 MySQL 5.6 Tomcat 8 idea activiti 5.22 activiti-explorer是官方提供的一个演示项目,可以使用页面管理Activiti流程.ac ...

  2. JConsole远程配置

    JConsole是JDK自带的内存监控工具 1.linux配置tomcat-9.x 修改setenv.sh文件(默认没有的,需自己创建),增加配置: #!/bin/sh JAVA_HOME=/usr/ ...

  3. select列表遍历和触发事件

    1.以下两种都是jquery获取select列表被选中的value.var strText=$("#select_id").find("option:selected&q ...

  4. [教程]K8Cscan调用外部程序(Win/Linux批量上控/执行多条命令/保存结果)

    0x000 调用原理 Cscan调用外部程序有两种方式,一是编写DLL,二是配置文件 编写DLL文件对于不懂编程的人来说可能会很难(虽然支持各语言) 由于考虑到很多人不会编程或会编程又急用无法短时间转 ...

  5. python提取批量文件内的指定内容

    目标文件夹: 文件内容: 实现代码: # -*- coding:utf-8 -*- # __author__ :kusy # __content__:get ssr info from html fi ...

  6. WebStorm ------------ 调整字体大小和背景

    WebStorm  一款前端编写工具,使用方式与idea 相似 如何调整字体大小 在设置里面找 设置编码背景 拷贝一个样式,,在此样式下进行更改 开始设置 设置好后 dd

  7. 鼠标滚轮滚动慢/拖动Office出现滞后问题处理

    一.说明 我对外设一直不是很了解,买的鼠标今天到了,使用时遇到了两个问题在这里记一下. 二.滚轮滚动慢处理 问题描述:在网页中滚动滚轮每次只能上下移动一点点,感觉很难受. 问题原因:此问题是滚轮滚动一 ...

  8. 国产服务器创建GSCloud实例统计

    1. GSCloud 201909 版本 完整的数据库实例 龙芯上面的瀚高4.3.4.3 数据库实例 安装耗时: 服务器配置: 龙芯3A 四核 .45G 内存8G HDD硬盘 安装耗时: 52min ...

  9. TestNG系列(四)TestNG监听器

    前言 监听器实际上是一些预定义的java接口,用户创建这些接口的实现类(即implements某监听接口,并实现里面的方法),并加入到testng中,testng便会在运行的不同时刻调用这些类中你自定 ...

  10. inux centos7下源码 tar安装5.7.26详解

    inux centos7下源码 tar安装5.7.26图文详解 官网地址 https://dev.mysql.com/downloads/mysql/ 1.卸载Linux系统上自带的mysql插件(o ...