Spring cloud Erueka

1.服務發現的由來

     服務發現及註冊中心或是命名服務(後文統一稱爲服務發現),不是憑空出現的,其演進與軟件開發的架構方式的演進有密切關聯,大致如下:

   1.1 單體架構時代

          早期的互聯網開發,多使用單體架構,服務自成一體,對於依賴的少數外部服務,會採用配置域名的方式訪問,比如要使用外部短信供應商的短信發送接口,會使用appId和appKey,調用該供應商的域名接口即可。

   1.2 SOA架構時代

          以基於Http形式暴露服務爲例,假設A服務部署在3臺虛擬機上,這三個服務實例均有各自的獨立內網ip,此時假設B服務要調用A服務的接口服務,有幾種方式。

  1.       A服務3個服務實例的內網ip給到消費者B服務,這個時候B服務在沒有Client端負載均衡技術的條件下,通常會在B服務自己的Nginx上配置A服務的upstream,即將A服務的3個實例配置進去,比如:                                                                                 
    upstream  service_api_servers{
         server 192.168.137.131 weight = 3 max_fails=3 fail_timeout=20s;
         server 192.168.137.132 weight = 1 max_fails=3 fail_timeout=20s;
         server 192.168.137.133 weight = 4 max_fails=3 fail_timeout=20s;
    }
    
    ## ....
    
    server{
         listen 80 default_server;
         server_name serviceb.com.cn;
         location /api/services/{
            proxy_pass http://servicea_api_servers/api;
         }
    }

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章