Spring Cloud系列之Eureka

什麼是框架?

個人簡單的理解,框架是一個半成品,在java開發中就是一種規範+一羣jar包

使用框架開發的目的

用來提高開發效率,這一點個人最大的體會就是從學會使用struts到Spring Boot這兩個框架之間的跨度。SpringBoot以他依賴優於配置的特點,獲得不少java開發大佬的恩寵,一點點將Struts打入冷宮,至於爲什麼,相信用過這兩種框架的大佬們都深有體會!

爲什麼要使用Spring cloud框架進行開發?

spring cloud是一個基於Spring Boot開發的微服務框架,SpringBoot可以開發單個的微服務。所謂微服務,就是按業務邏輯劃分爲獨立的模塊進行開發。

  1. 讓專業的人做專業的事情,每個服務與服務之間互不影響。比如一個微服務專門做登錄註冊,這個微服務就只專注於登錄和註冊以及安全的問題,不涉及其他業務。不過微服務粒度的劃分,個人感覺對技術和業務能力要求還是比較高。粒度如果劃分不好仍然無法避免大量代碼重複的詬病。
  2. 採用resultful風格設計接口(個人理解resultful風格提供API就是Http+JSON)
  3. 效率更高,更適合互聯網公司敏捷開發,快速迭代產品。

Spring cloud之Eureka(註冊中心)

說eureka前先理解這幾個概念
  1. 註冊中心概念:存放服務ip地址,端口號和服務名稱等相關信息
  2. 服務註冊:將自己的信息(ip,端口號,服務名稱等)發送到註冊中心
  3. 服務發現:從註冊中心獲取服務通訊地址,然後在本地遠程調用
  4. 服務消費者:調用別人的接口
  5. 服務提供者: 提供服務接口
    注:一個服務既可以作爲服務提供者,也可以作爲消費者。
    在這裏插入圖片描述

Eureka 兩大組件

1.Eureka server: 主要提供註冊服務,也就是註冊中心
2.Eureka client: 每個微服務模塊,負責向Eureka Server發送心跳(也就是註冊,默認是30S發一次)

Eureka 三大角色

Eureka server: 提供服務與註冊
Eureka provider: 服務提供方,提供服務接口給別人用(指服務消費者)
Eureka consumer: 服務消費者,從Eureka Server獲取註冊列表和提供者信息從而在本地進行調用

Eureka Server 集羣搭建

  1. 爲什麼需要搭建Eureka Server集羣?
    Eureka server可以算是整個微服務核心,其他Eureka Client會定時連接Eureka server,獲取註冊信息並保存在本地緩存
    如果Eureka server被down調,其它Eureka Client就不能再從Eureka Server獲取註冊信息,緩存數據不能更新,慢慢會引起其它服務調用發生錯誤,影響整個系統性能
    在這裏插入圖片描述
    使EurekaServerDown調Eurekaclient調30SEurekaClient\color{#FF3030}{注:如果沒有搭建集羣的情況下,即使發生Eureka Server被Down調也不會立即出錯,以爲其它Eureka client默認調用的本地緩存,要30S才從Eureka Client拉取一次註冊信息}

  2. 搭建Eureka Server集羣的目的
    爲了防止Eureka Server被Down掉對整個系統的影響,所以需要做集羣

  3. 搭建Eureka集羣的原理:
    通過運行2個或多個Eureka Server讓他們相互註冊的方式實現高可用部署

    在這裏插入圖片描述
    小結:單節點的Eureka Server只適用於開發環境。生產環境和線上環境需要搭建集羣實現高可用,高性能。

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