基于Eureka服务治理的高可用性注册中心搭建
高可用注册中心
在微服务这样的分布式环境中,我们需要充分考虑故障发生的情况,所以在生产环境中必须对各个组件进行高可用部署,对于微服务如此,对于微服务注册中心也是一样。上一篇文章我们搭建了单节点的服务治理示例,接下来我们构建一个高可用性注册中心以增强系统的可用性。
在Eureka的服务治理体系中,所有节点即是服务提供方,也是服务消费方,服务注册中心也不例外。Eureka Server的高可用实际上就是将自己作为服务向其它服务注册中心注册自己,这样就可以形成一组互相注册的服务注册中心,以实现服务清单的相互同步,达到高可用的效果。接下来我们尝试一下搭建一个高可用注册中心。
- 创建基础的spring boot项目eureka-server,在pom.xml配置文件中引入Eureka Server的依赖
<dependencies><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-test</artifactId><scope>test</scope></dependency></dependencies>
- 在启动主类上添加@EnableEurekaServer注解启动一个 服务注册中心给其它服务
package com.eureka.demo;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {public static void main(String[] args) {SpringApplication.run(EurekaServerApplication.class, args);}}
- 创建一个spring boot项目eureka-server-peer,配置如上两步
- eureka-server项目创建配置文件application-peer.properties作为注册中心的配置文件
#注册中心端口号
server.port=9001
##注册中心服务地址
eureka.instance.hostname=peer1
#eureka.instance.prefer-ip-address=false
#eureka.instance.instance-id=${eureka.instance.hostname}:${server.port}
#是否开启自我保护机制
eureka.server.enable-self-preservation=true
#是否将自己注册为服务
eureka.client.register-with-eureka=true
#是否禁止向注册中心检索服务
eureka.client.fetch-registry=true
#服务地址
eureka.client.service-url.defaultZone=http://peer2:9002/eureka/
application.properties文件的配置如下:
#注册中心应用名称
spring.application.name=eureka-server
##注册中心使用的配置文件名
spring.profiles.active=peer
- eureka-server-peer项目创建application-peer.properties配置文件作为注册中心的配置文件
#注册中心端口号
server.port=9002
##注册中心服务地址
eureka.instance.hostname=peer2
#eureka.instance.prefer-ip-address=false
#eureka.instance.instance-id=${eureka.instance.hostname}:${server.port}
#是否开启自我保护机制
eureka.server.enable-self-preservation=true
#是否将自己注册为服务
eureka.client.register-with-eureka=true
#是否禁止向注册中心检索服务
eureka.client.fetch-registry=true
#注册中心
eureka.client.service-url.defaultZone=http://peer1:9001/eureka/
application.properties的配置如下:
#注册中心应用名称
spring.application.name=eureka-server
##注册中心使用的配置文件名
spring.profiles.active=peer
- 修改hosts配置文件,windows环境在C:\Windows\System32\drivers\etc目录下
- 启动两个注册中心,启动第一个的时候可能会有错误,但是这个不影响,因为第二个注册中心还未启动,启动成功后分别访问http://localhost:9001/,http://localhost:9002/
http://localhost:9001/端口返回结构
http://localhost:9002/端口返回结果
基于Eureka服务治理的高可用性注册中心搭建相关推荐
- springboot2 springcloud Greenwich.SR3 构建微服务--1.eureka注册中心搭建
本一系列springcloud的文章主主要讲应用, 也会涉及到一些原理的讲解. 写了几句自己这段时间看书,总结的微服务的东西送给你们 : 道为源,源分多支为术,如龙生九子,九子各不同,然皆为龙也. 凡 ...
- 【学习笔记】Eureka服务治理代码实例、相关配置和原理机制详解
文章目录 代码示例 启动一个服务注册中心 注册服务提供者 高可用注册中心 服务的发现与消费 Eureka的一些配置 服务注册类配置 服务实例类配置 实例名配置 端点配置 Eureka服务治理基础架构原 ...
- SpringCloud Eureka服务治理
Spring Cloud Eureka 是 Spring Cloud Netflix 微服务套件中的一部分, 它基于 Netflix Eureka 做了二次封装, 主要负责完成微服务架构中的服务治理功 ...
- Srpingcloud之eureka,微服架构之注册中心eureka
微服架构为什么需要注册中心,它解决了什么问题? 为什么要用? 管理服务以及服务之间的依赖关系. eureka:微服服务注册与发现,负载均衡,故障转移的能力. 类似服务:zookeeper+dubbo ...
- Spring Cloud Eureka服务治理
一.介绍 1.背景 在早期,由于系统一般业务简单,涉及到的服务比较少,我们可以通过设计静态的配置来完成服务之间的调用.比如服务A和服务B,我们通过配置,让他们相互通信.但是随着业务不断发展和数据量不断 ...
- SpringCloud---搭建Eureka服务治理和发现
你未必出类拔萃,但一定与众不同 SpringCloud–服务治理Eureka 目录 SpringCloud--服务治理Eureka 搭建Eureka服务治理中心 1.创建springboot项目,这里 ...
- 微服务 注册中心的作用_微服务架构Dubbo之注册中心(Zookeeper)
注册中心简介 在微服务架构中,注册中心是核心的基础服务之一.在微服务架构流行之前,注册中心就已经开始出现在分布式架构的系统中.Dubbo是一个在国内比较流行的分布式框架,被大量的中小型互联网公司所采用 ...
- eruke注册中心搭建
2019独角兽企业重金招聘Python工程师标准>>> eruke注册中心搭建 配置pom.xml <dependencyManagement> <dependen ...
- Linux-Nacos-服务注册中心搭建
Linux-Nacos-服务注册中心搭建 由于springcloud 注册中心 Eureka 早已停止维护所以我们使用Nacos 官方: https://nacos.io/zh-cn/docs/wha ...
最新文章
- 7分钟了解科大讯飞开发者节:AI红利期来临,全新1024计划发布(未完待续)
- nginx配置反向代理示例
- ubuntu21.04下VSCode无法输入中文解决方法:應用商店安裝的話需要重裝
- python数据库在哪_python可以用哪些数据库
- Windows Socket和Linux Socket编程的区别
- esp8266 防掉线方法_ESP8266-12F 中断
- Go获取命令行参数及信号量处理
- Linux(Ubuntu)常用命令(五)—— vi/vim常用操作
- java计算机毕业设计校园点餐系统源程序+mysql+系统+lw文档+远程调试
- 2020年杭州电子科技大学计算机考研经验分享
- 微信小程序SEO优化策略
- SUSE Linux 15 If ‘netstat‘ is not a typo you can use command-not-found to lookup the package...
- linux sftp 重命名,SFTP对文件重命名 删除 退出 查看
- 计算机机房使用多大的光纤引入,数据中心机房采用光纤网络布线案例解析
- easyswoole not controller class match
- 100个统计学 R语言学习资源网站
- 交互设计的N大原理(持续补充中……)
- lfu实现 java_LFU五种实现方式,从简单到复杂
- 第一章第2节-WebGIS开发
- CEGUI安装、编译、运行总结