IT技术互动交流平台

微服务架构:Eureka集群搭建

作者:风中程序猿??来源:IT165收集??发布日期:2016-12-16 20:35:24

版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习!

? ? ? 服务注册、发现是微服务架构的关键原理之一,由于微服务架构是由一系列职责单一的细粒度服务构成的网状结构,服务之间通过轻量机制进行通信,这就必然引入一个服务注册发现的问题,也就是说服务提供方要注册报告服务地址,服务调用方要能发现目标服务。在我们的微服务架构中我们采用了Eureka来完成微服务的注册与发现。微服务通过Eureka进行注册,服务调用方通过Eureka找到目标服务。由于服务提供方以集群方式提供服务,Eureka也采用集群的方式来提供服务的注册与发现,集群中的Eureka实例之间可以进行数据同步,所有Eureka实例中的服务注册信息都是同步的。那么问题来了,Eureka集群中的实例怎么知道其他实例的存在呢,怎么来发现其他的实例呢?通常的做法是通过DNS,因此我们需要搭建DNS服务器。下面来介绍Euraka集群的搭建过程。

? ? ?一、搭建DNS服务器(Linux环境下)

? ? ?1、安装DNS服务器组件,这里我们用的是bind

? ? ? ? ?命令:yum?install?-y?bind?bind-chroot?bind-utils

? ? ?2、编辑配置DNS主配置文件

? ? ? ? ?命令:vi ?/etc/named.conf

? ? ? ? ?

? ? 3、修改named.rfc1912.zones文件

? ? 命令: vi ?/etc/named.rfc1912.zones

? ? ? ? 添加所需要的zone

? ? ? ??

? ? ?4、添加设置DNS正向解析

? ? ? ? ?修改zone配置文件,正向解析

? ? ? ? ?命令:cd ?/var/named/

? ? ? ? ? ? ? ? ?cp?named.localhost?eureka.com.zone?

? ? ? ? ? ? ? ? ?vi?eureka.com.zone

? ? ? ? ?注意:要和主配置文件[/etc/named.rfc1912.zones]里面定义的zone文件名一致

? ? ? ??

? ? ?5、启动DNS服务器

? ? ? ? ? ?命令:service?named?start

? ? ?6、测试检测域信息是否正常

? ? 检查之前先看下配置文件有没有读取权限

? ? 命令:ll?/var/named

? ? ? ?

? ? ? ?如果没有读取权限,用chmod?+r?/var/named/* 命令添加即可

? ? ? ?

? ? ?7、重新启动DNS服务器

? ? ? ? ?命令:service?named?restart

? ? ?8、DNS服务器地址配置

? ? ? ? ?第一种方式:此方式是暂时修改dns地址,当网络重启之后,则自动清除。

?

? ? ? ? ?命令:vi??/etc/resolv.conf

?

? ? ??

? ? ??第二种方式:此方式是永久修改dns地址,当网络重启之后,不会清除。

? ? 命令:vi ??/etc/sysconfig/network-scripts/ifcfg-enp0s25

? ? ? ??

? ? ?二、将eureka的dns配置放在jar包外面启动微服务

?

? ? ? ? ? docker 命令:docker run –e eurekaServerDNSName=域名 镜像

? ? ?三、EUREKA集群配置

? ? ? ? ? ?编写Eureka 配置文件(application.yml)

? ? ? ? ? ??

?

? ? ? ? ? ? 其中?eureka 的配置分为client 端和server 端:

? ? ? ? ? ??Eureka client配置中,eurekaServerURLContext: eureka 表示eureka注册中心的路径,默认为http://x.x.x.x:x/eureka/,在eureka的配置文件中加入此配置表

? ??示eureka作为客户端向注册中心注册,从而构成eureka集群。

? ??Eureka server 配置中,enableSelfPreservation: false表示在此eureka服务器中关闭自我保护模式,所谓自我保护模式是指,出现网络分区、eureka在短时间内丢失过

? ??多客户端时,会进入自我保护模式,即一个服务长时间没有发送心跳,eureka也不会将其删除。默认为true:

? ? ? ? ??

? ? ? ? ?

? ? ?自我保护模式默认为开启,这就涉及到阈值因子,默认为0.85,这些在eureka主界面上可以看出:

? ? ?

? ? ?阈值不能大于最小值,否则将会进入自我保护模式。

? ? ? ? ? ?以上是eureka集群的搭建过程,在搭建的过程中踩过很多坑,也有很多收获,eureka相关的一些配置项就不在这里赘述了,内容比较多,有必要的话我再另外单独介绍这部分内容。

Tag标签: 集群?? 架构??
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规