spring cloud 2.x版本 Eureka Server服务注册中心教程
本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3
1.创建服务注册中心
1.1 新建Spring boot工程:eureka-server
1.2 pom.xml所需依赖jar包
<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 EurekaServerApplication添加注解@EnableEurekaServer
@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}
@EnableEurekaServer:启用eureka server相关配置
1.4 添加配置文件内容:application.yml
spring:
application:
name: eureka-server
server:
port: 8701
#无参数启动
eureka:
instance:
hostname: localhost
prefer-ip-address: true
client:
service-url:
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.49 #默认0.85
单机模式下:
register-with-eureka和fetch-registry应为false,否则启动会报错:Cannot execute request on any known server。原因,在默认设置下,eureka服务注册中心会将自己作为客户端来尝试注册自己。
1.5 启动服务
打开浏览器输入:http://localhost:8701, 显示如下:
红框内容代表还没有实例注册
结语
至此,一个简单的单机服务注册中心就搭建完成了。
搭建服务注册中心集群
为了保证服务的高可用,我们需要把单机应用改成集群应用,接下来,我们创建一个简单的eureka server集群.
1.1 修改本地host
- 127.0.0.1 eureka1.server.com
- 127.0.0.1 eureka2.server.com
- 127.0.0.1 eureka3.server.com
1.2 增加application.yml配置文件
增加application-server1.yml和application-server2.yml文件,同时修改原来的application.yml文件,文件内容如下:
- application.yml
spring:
application:
name: eureka-server
server:
port: 8701
#无参数启动
eureka:
instance:
hostname: eureka1.server.com
prefer-ip-address: true
client:
service-url:
defaultZone: http://eureka1.server.com:8701/eureka/,http://eureka2.server.com:8702/eureka/,http://eureka3.server.com:8703/eureka/
register-with-eureka: false
fetch-registry: true
server:
eviction-interval-timer-in-ms: 5000
enable-self-preservation: true
renewal-percent-threshold: 0.49
- application-server1.yml
spring:
application:
name: eureka-server
server:
port: 8702
#无参数启动
eureka:
instance:
hostname: eureka2.server.com
client:
service-url:
defaultZone: http://eureka1.server.com:8701/eureka/,http://eureka2.server.com:8702/eureka/,http://eureka3.server.com:8703/eureka/
register-with-eureka: false
fetch-registry: true
server:
eviction-interval-timer-in-ms: 5000
enable-self-preservation: true
renewal-percent-threshold: 0.49
- application-server2.yml
spring:
application:
name: eureka-server
server:
port: 8703
#无参数启动
eureka:
instance:
hostname: eureka3.server.com
client:
service-url:
defaultZone: http://eureka1.server.com:8701/eureka/,http://eureka2.server.com:8702/eureka/,http://eureka3.server.com:8703/eureka/
register-with-eureka: false
fetch-registry: true
server:
eviction-interval-timer-in-ms: 5000
enable-self-preservation: true
renewal-percent-threshold: 0.49 #默认0.85
1.3 在idea中添加启动服务
设置启动服务,按照截图中1234顺序依次添加
分别创建eureka-server2和eureka-server3.(注:eureka-server1用原来的启动就可以)
1.4 按照顺序分别启动3个eureka server服务
启动服务后分别访问 http://eureka1.server.com:8701,http://eureka1.server.com:8702,http://eureka1.server.com:8703 如图显示:
三个页面如上图显示就代表服务全部启动成功。至此,一个简单的服务中心集群就搭建完成。
总结
可以将application-server1.yml和application-server2.yml的配置信息都放到原application.yml配置中,通过‘---’ 三横杠模加spring.profiles模式来启动,同时增加启动参数: --spring.profiles.active=config-server1。本文采用过个application.yml的方式,方便以后的维护。
本文只是简单的搭建了服务注册中心的单机和集群应用,对eureka做为服务注册中心有一个简单对认识,后续会更新eureka的其他内容。
代码仓库
《Srping Cloud 2.X小白教程》目录
- spring cloud 2.x版本 Eureka Server服务注册中心教程
- spring cloud 2.x版本 Eureka Client服务提供者教程
- spring cloud 2.x版本 Ribbon服务发现教程(内含集成Hystrix熔断机制)
- spring cloud 2.x版本 Feign服务发现教程(内含集成Hystrix熔断机制)
- spring cloud 2.x版本 Zuul路由网关教程
- spring cloud 2.x版本 config分布式配置中心教程
- spring cloud 2.x版本 Hystrix Dashboard断路器教程
- spring cloud 2.x版本 Gateway路由网关教程
- spring cloud 2.x版本 Gateway自定义过滤器教程
- spring cloud 2.x版本 Gateway熔断、限流教程
- 写作不易,转载请注明出处,喜欢的小伙伴可以关注公众号查看更多喜欢的文章。
- 联系方式:4272231@163.com
spring cloud 2.x版本 Eureka Server服务注册中心教程的更多相关文章
- Spring Cloud系列(一):服务注册中心
一.Spring Cloud简介 Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线).分布式系统的协调导致了样 ...
- spring cloud 2.x版本 Eureka Client服务提供者教程
本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3 1 创建eureka client 1.1 新建Srping boot工程:eureka-c ...
- spring cloud 2.x版本 Gateway熔断、限流教程
前言 本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3 本文基于前两篇文章eureka-server.eureka-client.eureka ...
- Springcloud-alibaba学习实践(2)- nacos&Eureka Server服务注册实践
前言:上一篇已搭建好了springcloud服务注册中心(Nacos&Eureka Server),本篇继续代码实践,注册服务到服务中心,本篇只是演示了两种注册中心,后续我们以Nacos注册中 ...
- Spring Cloud之服务注册中心搭建Eureka Server服务注册中⼼
Spring Cloud并不与Spring MVC类似是一个开源框架,而是一组解决问题的规范(个人理解).解决哪些问题呢?如下: 1)服务管理:⾃动注册与发现.状态监管 2)服务负载均衡 3)熔断 4 ...
- spring cloud(学习笔记)高可用注册中心(Eureka)的实现(二)
绪论 前几天我用一种方式实现了spring cloud的高可用,达到两个注册中心,详情见spring cloud(学习笔记)高可用注册中心(Eureka)的实现(一),今天我意外发现,注册中心可以无限 ...
- SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载)
场景 SpringCloud学习之运行第一个Eureka程序: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/90611451 S ...
- spring cloud 创建一个简单Eureka Server
在Spring Cloud实现一个Eureka Server是一件非常简单的事情.下面我们来写一个Eureka Server DEMO. 编码 父项目pom.xml <?xml version= ...
- spring cloud 使用Eureka作为服务注册中心
什么是Eureka? Eureka是在AWS上定位服务的REST服务. Eureka简单示例,仅作为学习参考 在pom文件引入相关的starter(起步依赖) /*定义使用的spring cloud ...
随机推荐
- springboot系列之03-使用IDEA完成第一个示例程序
未经允许,不得转载 原作者:字母哥博客 本文完整系列出自:springboot深入浅出系列 一.使用IntellijIDEA建立第一个spring boot 项目 通常只有专业版付费版才默认带有Spr ...
- 如何提高scroll事件的性能
1. chrome devtool 是诊断页面滚动性能的有效工具 2. 提升滚动时性能,就是要达到fps高且稳. 3. 具体可以从以下方面着手 使用web worker分离无页面渲染无关的逻辑计算 触 ...
- 基于hash和pushState的网页前端路由实现
客户端路由 对于客户端(通常为浏览器)来说,路由的映射函数通常是进行一些DOM的显示和隐藏操作.这样,当访问不同的路径的时候,会显示不同的页面组件.客户端路由最常见的有以下两种实现方案:* 基于Has ...
- 【linux】Tomcat 安装
登录linux后,切换目录到 /usr/local cd /user/local 在/usr/local目录新建文件夹servers用于存放tomcat文件 mkdir servers 在文件夹ser ...
- Pycharm 快捷键大全 2019.2.3
在Pycharm中打开Help->Keymap Reference可查看默认快捷键帮助文档,文档为PDF格式,位于安装路径的help文件夹中,包含MAC操作系统适用的帮助文档. 下图为2019. ...
- drf 框架
一. drf简介 drf框架,全程: django-rest framework , rest是插件名字,django插件的名字叫rest,framework是框架的意思 二. 接口 在平时生活 ...
- 报错fatal: refusing to merge unrelated histories
提交到远程仓库的时候报错如下 是因为远程仓库有东西更新,但本地仓库没有更新造成提交失败 需要先把远程仓库给拉取下来,执行命令git pull origin master,又报错了如下 是因为两个仓库提 ...
- uni-app h5端跳转到底部导航栏的时候使用方法uni.switchTab跳转刷新页面更新数据
h5端的uni-app项目 需求:uni-app h5端跳转到底部导航栏的时候使用方法uni.switchTab跳转刷新页面更新数据 百度的方法如下: uni.switchTab({ url: '/p ...
- java23种设计模式(一)工厂方法模式
在说工厂方法模式之前,先了解一下简单工厂模式.工厂方法模式其实是在简单工厂上面做了一些增强. 简单工厂模式:有一个专门的类来生产其他类的实例,生产的这些实例有一个共同父类.这个跟我们的多态有一点像. ...
- 一个最简单的springboot
现在项目里使用springboot,平时开发并不太关注springboot的一些基本配置,现在想整理一下springboot相关内容. 实际开发中都会因为各种业务需求在springboot上添加很多东 ...