上一篇 下一篇 分享链接 返回 返回顶部

Linux搭建eureka集群,基于dns搭建eureka集群[通俗易懂]

发布人:千 发布时间:2024-09-15 19:27 阅读量:521

大家好,又见面了,我是你们的朋友全栈君。

eureka集群方案:

9a569eadcff88b6b9d01706d305ff91d.png
9a569eadcff88b6b9d01706d305ff91d.png

1.通常我们部署的eureka节点多于两个,根据实际需求,只需要将相邻节点进行相互注册(eureka节点形成环状),就达到了高可用性集群,任何一个eureka节点挂掉不会受到影响。

2.可能会有初学者和我一样,一开始的时候没有完全理解eureka集群的原理,直接把每个eureka节点的url写进配置文件,期望所有的eureka节点进行相互注册。实际上,节点间进行信息同步的时候,只会选取配置文件第一个eureka的url,除非发生url错误,才会依次选取有效url进行信息同步。

3.可能有的童鞋有这样的疑问,eureka节点形成环状以后,相隔的多个节点挂掉,eureka节点的数据就会出现不一致的情况。长话短说,要么忍,要么改变方案。

忍其实也是合理的,毕竟挂掉的eureka节点重新启动后会自动同步数据。

改变方案可以把所有的eureka进行相互注册,但把所有的eureka url都写一遍,这个着实有点令人不爽,万一新增节点,所有的节点都需要改一遍!!

所以我们很自然的想到了是否可以通过dns来解决上面的问题?eureka的开发者当然也想到了这种问题,并提供了基于dns的解方案。

一、搭建DNS服务器(unbutun环境)

1.ubuntu需安装bind9软件包来配置dns-server

apt-get install bind9

2.配置dns

2.1添加zone

vim /etc/bind/named.conf.local 加入以下配置,可参考/etc/bind/zones.frc1918中的格式

“eureka.com” { type master; file “/etc/bind/db.eureka.com”; };

2.2创建db.eureka.com文件(需要和2.1添加的file文件同名)

cp db.local db.eureka.com

2.3修改db.eureka.com

添加以下内容

txt.huabei.huabei IN TXT “huabei.eureka.com”

txt.huabei IN TXT “192.168.0.1” “192.168.0.2” “192.168.3”

2.4修改named.conf.options配置文件,这里选用循环给出结果的方式

rrset-order { order cyclic; };

3.修改域名解析配置文件

vim /etc/resolv.conf

加入nameserver 192.168.0.1

注意nameserver顶格写 ip可配置本机ip

4.重启服务

/etc/init.d/bind9 restart

二、eureka集群配置

spring:

application:

name: eureka-server

server:

port: 8081

eureka:

environment: alpha

client:

region: huabei

availability-zones:

huabei: hb10

eureka-server-d-n-s-name: huabei.eureka.com

use-dns-for-fetching-service-urls: true

eureka-server-port: 8081

三、总结

笔者也是首次使用spring-cloud,网上有很多适合入门的使用文档,但在实际项目应用中,我们需要进一步挖掘spring-cloud的特性。后续我继续分享关于eureka的相关知识,比如如何使用region、zone等。

SpringCloud学习之搭建eureka集群,手把手教学,新手教程

一.为什么需要集群 上一篇文章讲解了如何搭建单个节点的eureka,这篇讲解如何搭建eureka集群,这里的集群还是本地不同的端口执行三个eureka,因为条件不要允许,没有三台电脑,所以大家将就一下 …

基于docker搭建elasticsearch集群

es集群的搭建 – 基于单机搭建elasticsearch集群见官网 https://www.elastic.co/guide/en/elasticsearch/reference/current/d …

基于 twemproxy 搭建 redis 集群

概述 由于单台redis服务器的内存管理能力有限,使用过大内存redis服务器的性能急剧下降,且服务器发生故障将直接影响大面积业务.为了获取更好的缓存性能及扩展型,我们将需要搭建redis集群来满足需 …

SpringCloud搭建Eureka集群

第一部分:搭建Eureka Server集群 Step1:新建工程,引入依赖 依赖文件pom.xml如下

搭建Eureka集群

1.pom文件

kubeadm搭建K8s集群及Pod初体验

基于Kubeadm 搭建K8s集群: 通过上一篇博客,我们已经基本了解了 k8s 的基本概念,也许你现在还是有些模糊,说真的我也是很模糊的.只有不断地操作去熟练,强化自己对他的认知,才能提升境界. 我 …

docker 搭建zookeeper集群和kafka集群

docker 搭建zookeeper集群 安装docker-compose容器编排工具 Compose介绍 Docker Compose 是 Docker 官方编排(Orchestration)项目之 …

随机推荐

PAT练习题目录

点题号就能查看题解了,另外代码也放在了开源中国码云上: 甲级:代码集合:https://git.oschina.net/firstmiki/PAT-Advanced-Level-Practise 10 …

slick for play 使用原生sql查询以及拼接sql

在play中用函数式框架slick来操作数据库是一件很爽的事情.但有时因为某些特殊场景又不得不用原生的sql了. 还好slick支持这种写法,可以看看slick官方文档,Slick Plain SQL …

Linux_Shell_grep

grep [选项] “搜索内容” 文件名 选项列表: -i 忽略大小写 -n 输出行号 -v 反向查找 –color=auto 搜索出的关键字用颜色显示 ll|g …

POJ 3255 Roadblocks(A*求次短路)

Roadblocks Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 12167 Accepted: 4300 Descr …

OK335xS Linux kernel check clock 24M hacking

/****************************************************************************** * OK335xS Linux kern …

如何让Gridview在没有数据的时候显示表头(asp.net)

原文:如何让Gridview在没有数据的时候显示表头(asp.net) 1.前言 当对GridView控件进行数据绑定时,如果绑定的记录为空,网页上就不显示GridView,造成页面部分空白,页面布局 …

1113: 零起点学算法20——输出特殊值II

1113: 零起点学算法20–输出特殊值II Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lldSubmitted: 207 …

Java泛型知识点全方位总结

前言 我一直认为泛型是编程语言设计中一个非常基本和重要的概念.Java中的泛型是什么?他们为什么在那里?他们是如何发展的?在学习基础知识时,对仿制药的透彻理解是非常重要的.因此,我阅读了

ES6的一些基本用法

● let ● variable hoisting ● arrow Function, Lambda表达式 ● Destructuring Assignments 解构赋值 ● 默认参数值 Defau …

解决 nfs挂载错误wrong fs type, bad option, bad superblock

yum install nfs-utils mount -t nfs 192.168.1.153:/taimei /taimei

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/135255.html原文链接:https://javaforall.cn

目录结构
全文