微服务架构:Eureka集群搭建

Posted 风中程序猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务架构:Eureka集群搭建相关的知识,希望对你有一定的参考价值。

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

      服务注册、发现是微服务架构的关键原理之一,由于微服务架构是由一系列职责单一的细粒度服务构成的网状结构,服务之间通过轻量机制进行通信,这就必然引入一个服务注册发现的问题,也就是说服务提供方要注册报告服务地址,服务调用方要能发现目标服务。在我们的微服务架构中我们采用了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相关的一些配置项就不在这里赘述了,内容比较多,有必要的话我再另外单独介绍这部分内容。

 

以上是关于微服务架构:Eureka集群搭建的主要内容,如果未能解决你的问题,请参考以下文章

微服务架构eureka集群高可用配置

微服务架构 SpringCloudEureka(注册中心集群篇)

springCloud进阶(微服务架构&Eureka)

Spring Cloud Eureka服务注册与发现

Spring Cloud Eureka服务注册与发现

SpringCloud(六)——微服务集群