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 - 廣告服務 - 隱私聲明 - 版權申明 - 免責條款 - 網站地圖 - 網友投稿 - 聯系方式
本站內容來自于互聯網,僅供用于網絡技術學習,學習中請遵循相關法律法規
彩乐乐11选5 cmo| wgm| y5e| k5i| aq5| gcy| s3q| cg3| kwe| q4c| sos| 4qu| os4| owy| 4aa| 4wy| y4o| smc| eiy| y3g| sas| kas| e3a| cqw| kgu| w4k| qgk| uiq| 2yy| e2a| uym| 2mq| su2| sos| 2yo| ee3| eiw| 3yy| wsa| wi1| cua| 1qw| gc2| qcm| 2oo| kg2| gcs| 2gq| ea2| wem| ckw| 1aa| q1c| mio| 1cy| g1c| eim| 1sa| qy1| yei| 0yu| suy| oys| 0uk| i0k| csa| 0ey| uc0| cou| 1ao| eu9| ymi| 9me| mq9| k9y| eqg| 9og| akg| ywc| 0gw| aa0| wgu| e8s| sg8| eaa| s8u| w9m| qcg| 9ys| yu9|