• 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相关的一些配置项就不在这里赘述了,内容比较多,有必要的话我再另外单独介绍这部分内容。

  • 相关阅读:
    springcloud-Ribbon之手写轮询算法
    springcloud-Ribbon负载均衡规则的替换
    git本地库和远程库的连接和断开
    本地项目第一次提交到码云或github
    python基础语法练习
    Xss-labs-level11-15
    Vulnhub-靶机-ESCALATE_LINUX: 1
    Xss-labs-level7-10
    Vulnhub-靶机-DC: 6
    Jenkins入门之执行Powershell脚本
  • 原文地址:https://www.cnblogs.com/hehheai/p/6506877.html
Copyright © 2020-2023  润新知