什麼是框架?
個人簡單的理解,框架是一個半成品,在java開發中就是一種規範+一羣jar包
使用框架開發的目的
用來提高開發效率,這一點個人最大的體會就是從學會使用struts到Spring Boot這兩個框架之間的跨度。SpringBoot以他依賴優於配置的特點,獲得不少java開發大佬的恩寵,一點點將Struts打入冷宮,至於爲什麼,相信用過這兩種框架的大佬們都深有體會!
爲什麼要使用Spring cloud框架進行開發?
spring cloud是一個基於Spring Boot開發的微服務框架,SpringBoot可以開發單個的微服務。所謂微服務,就是按業務邏輯劃分爲獨立的模塊進行開發。
- 讓專業的人做專業的事情,每個服務與服務之間互不影響。比如一個微服務專門做登錄註冊,這個微服務就只專注於登錄和註冊以及安全的問題,不涉及其他業務。不過微服務粒度的劃分,個人感覺對技術和業務能力要求還是比較高。粒度如果劃分不好仍然無法避免大量代碼重複的詬病。
- 採用resultful風格設計接口(個人理解resultful風格提供API就是Http+JSON)
- 效率更高,更適合互聯網公司敏捷開發,快速迭代產品。
Spring cloud之Eureka(註冊中心)
說eureka前先理解這幾個概念
- 註冊中心概念:存放服務ip地址,端口號和服務名稱等相關信息
- 服務註冊:將自己的信息(ip,端口號,服務名稱等)發送到註冊中心
- 服務發現:從註冊中心獲取服務通訊地址,然後在本地遠程調用
- 服務消費者:調用別人的接口
- 服務提供者: 提供服務接口
注:一個服務既可以作爲服務提供者,也可以作爲消費者。
Eureka 兩大組件
1.Eureka server: 主要提供註冊服務,也就是註冊中心
2.Eureka client: 每個微服務模塊,負責向Eureka Server發送心跳(也就是註冊,默認是30S發一次)
Eureka 三大角色
Eureka server: 提供服務與註冊
Eureka provider: 服務提供方,提供服務接口給別人用(指服務消費者)
Eureka consumer: 服務消費者,從Eureka Server獲取註冊列表和提供者信息從而在本地進行調用
Eureka Server 集羣搭建
-
爲什麼需要搭建Eureka Server集羣?
Eureka server可以算是整個微服務核心,其他Eureka Client會定時連接Eureka server,獲取註冊信息並保存在本地緩存
如果Eureka server被down調,其它Eureka Client就不能再從Eureka Server獲取註冊信息,緩存數據不能更新,慢慢會引起其它服務調用發生錯誤,影響整個系統性能
-
搭建Eureka Server集羣的目的
爲了防止Eureka Server被Down掉對整個系統的影響,所以需要做集羣 -
搭建Eureka集羣的原理:
通過運行2個或多個Eureka Server讓他們相互註冊的方式實現高可用部署
小結:單節點的Eureka Server只適用於開發環境。生產環境和線上環境需要搭建集羣實現高可用,高性能。