SpringCloud2.0 Eureka Server 服务中心 基础教程(二)
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 服务中心 基础教程(二)的更多相关文章
- SpringCloud2.0 Feign 服务发现 基础教程(五)
1.启动[服务中心]集群,即 Eureka Server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) 2.启动[服务提供者]集群,即 Eureka Cli ...
- SpringCloud2.0 Ribbon 服务发现 基础教程(四)
1.启动[服务中心]集群,即 Eureka Server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) 2.启动[服务提供者]集群,即 Eureka Cli ...
- SpringCloud2.0 Zuul 网关路由 基础教程(十)
1.启动基础工程 1.1.启动[服务注册中心],工程名称:springcloud-eureka-server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) ...
- SpringCloud2.0 Eureka Client 服务注册 基础教程(三)
1.创建[服务提供者],即 Eureka Client 1.1.新建 Spring Boot 工程,工程名称:springcloud-eureka-client 1.2.工程 pom.xml 文件添加 ...
- 升级微服务架构1:搭建Eureka Server服务中心
Spring Cloud中使用Eureka来做服务注册和发现,来统一管理微服务实例. 1.使用IDEA创建一个空的Maven项目做父模块 (也可以不用父项目,所有模块都用平行结构) 删除父模块src文 ...
- MySQL8.0数据库基础教程(二)-理解"关系"
1 SQL 的哲学 形如 Linux 哲学一切都是文件,在 SQL 领域也有这样一条至理名言 一切都是关系 2 关系数据库 所谓关系数据库(Relational database)是创建在关系模型基础 ...
- Java基础教程——二维数组
二维数组 Java里的二维数组其实是数组的数组,即每个数组元素都是一个数组. 每个数组的长度不要求一致,但最好一致. // 同样有两种风格的定义方法 int[][] _arr21_推荐 = { { 1 ...
- numpy基础教程--二维数组的转置
使用numpy库可以快速将一个二维数组进行转置,方法有三种 1.使用numpy包里面的transpose()可以快速将一个二维数组转置 2.使用.T属性快速转置 3.使用swapaxes(1, 0)方 ...
- AngularJS 基础教程二:
5.过滤器 过滤器的主要功能是格式化数据 可以使用Angular提供的过滤器,也可以自定义过滤器 Angular过滤器: currency(货币).date(日期).filter(子串匹配).json ...
随机推荐
- 将物理机转换成vmware虚机
随着虚拟化的快速发展,公司主要是以公有云+私有云结合的混合云部署,据我不成熟的了解,目前很少有公司会将一台单独的物理机作为服务器,在公司内部大家逐渐接受了私有云的部署方案,这样做不但可以节省硬件资源, ...
- HP Client Security Manager
HP Client Security Manager - SP77916 操作系统:windows 10 64位 HP Client Security Manager - SP77916.ex ...
- Linux之三剑客
LINUX之三剑客 本篇主要介绍linux下常用的增删改查工具: grep sed awk grep是linux下一个强大的搜索工具,几乎操作linux的用户每天都会或多或少的用到grep命令,单一个 ...
- SpringBoot使用@ServerEndpoint无法依赖注入问题解决(WebSocket)
如上两图所示,在WebSocket中我想使用Redis.把自己编写的RedisUtil使用@Autowired自动注入到当前类. 在运行时,出现异常:java.lang.NullPointExcept ...
- Android -- SEGV_MAPERR,SEGV_ACCERR
Per siginfo.h: SEGV_MAPERR means you tried to access an address that doesn’t map to anything. SEGV_A ...
- Linux中的数据重定向
重定向即指:将数据传送输出到别的地方,如设备.文件等等.那就涉及到将什么数据传送到什么地方的问题. 在linux中命令执行的起源和结果说起,看下图: Standard input和Standard e ...
- Java中守护线程的总结 thread.setDaemon(true)
https://www.cnblogs.com/ziq711/p/8228255.html 在Java中有两类线程:User Thread(用户线程).Daemon Thread(守护线程) 用个比较 ...
- XAML加载的四种方式
XAML加载与编译可以分为四种: 仅使用代码进行WPF程序的生成 使用代码和未编译的标记 使用代码和编译过的BAML 1.只是用代码进行窗体的生成:优点是可以随意定制应用程序,缺点是没有可视化编辑窗口 ...
- ansible超详细使用指南
在工作中有用到ansible用于自动部署和环境配置,这里整理了一份很详尽的使用指南,如果有用到的可以看看.关于使用ansible自动部署一个网站和docker化,将在下一篇文章中介绍,敬请期待.文章内 ...
- 含有动态未知字段的 JSON 反序列化
一般来说,正常的 json 长这个模样: { 'Name': 'Bad Boys', 'ReleaseDate': '1995-4-7T00:00:00', 'Genres': [ 'Action', ...