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 ...
随机推荐
- Android Studio 之 GridView
1. 数据源 ArrayList Cursor 2. 适配器 Adapter ArrayAdapter SmipleAdapter SmipleCursorAdapter BaseAdapter
- Django学习----js传参给view.py
需求: 散点图中每选择一个点,获取到id之后传给view.py,根据这个id进行sql语句的查询. 问题: 要求实时查询 解决办法: ajax查询 js页面 .on("mousedown&q ...
- 【操作系统之五】Linux常用命令之grep
一.概念grep(Global search Regular Expression and Print out the line)强大的文本搜索工具,从文本文件或管道数据流中筛选匹配的行及数据,并把匹 ...
- CentOS设置时区
1.使用date命令查看当前时间 2.已软连接的方式设置时区 ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- AntDesign vue学习笔记(四)使用组件切换
同样实现上一篇功能, 改为使用组件切换,实现方法如下 1.修改MainFrm中的<router-view/>如下代码 2.注册局部组件 export default { name: 'Ma ...
- mysql替换字段中部分字符串
解决:使用replace(obj, search, replace_str)函数; sql语法: UPDATE 表名 SET 字段名=replace(字段名, ‘被替换字符串’, '用来替换的字符串' ...
- <More Effective C#: 改善C#代码的50个有效方法>中文版翻译答疑
最近, 有一本很赞的.NET技术书中文版出版了 - <More Effective C#: 改善C#代码的50个有效方法>. 从广州\西安\长沙\上海等各地.NET俱乐部都收到反馈, ...
- Linux学习笔记之Linux系统的swap分区
0x00 什么是swap分区 Swap分区在系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空 ...
- 一张图看懂SharpSocket
SharpSocket提供了很多接口和类,他们被良好地组织在一起,通过下面的图片,可以瞬间看懂整个类库的脉络.通过调用各个接口的方法,完成socket通信的功能.
- 简单的C#日志记录和弹出提示
记录这个博客的想法只有两点, 一,在使用webserver的时候如果你不好调用本地server端,那么你可以启用日志来查看异常.当然也可以调用本地的server端.这里简单说一下.不是本文的重点. 发 ...