1. 微服務
微服務具有的特點:
◊ 按照業務劃分服務
◊ 每個微服務都有獨立的基礎元件,如:資料庫、快取等,且執行在獨立的程式中;
◊ 微服務之間的通訊通過HTTP協議或者訊息元件,具有容錯能力;
◊ 微服務之間不耦合,可以隨時加入和刪除服務;
◊ 單個微服務能夠叢集化部署,具有負載均衡的能力;
◊ 整個微服務系統有完整的安全機制,包括使用者驗證、許可權驗證、資源保護等;
◊ 整個微服務系統有鏈路追蹤能力;
◊ 有一套完整的實時日誌系統。
微服務功能主要體現:
◊ 服務的註冊與發現
◊ 服務的負載均衡
◊ 服務的容錯
◊ 服務閘道器
◊ 服務配置統一管理
◊ 鏈路追蹤
◊ 實時日誌
2. SpringCloud
SpringCloud作為Java語言的微服務框架,基於SpringBoot。主要特點是簡化開發和部署過程,簡化Spring複雜的配置和依賴管理。
SpringCloud提供了分散式微服務系統的一些常用元件,如:服務註冊和發現、配置中心、熔斷器、智慧路由、微代理、控制匯流排、全域性鎖、分散式會話等。
2.1 服務註冊與發現元件Eureka
Eureka元件可以輕鬆實現服務的註冊與發現,提供服務的監控管理。
SpringCloud支援Consul和Zookeeper註冊和發現服務。
2.2 熔斷元件Hystrix
Hystrix熔斷元件提供基本的熔斷器功能外,還能夠實現服務降級、服務限流功能。