天天看點

SpringCloud01:學習前言

SpringCloud學習前言,必備知識

1、内容概述

學習前提:

JavaSE

資料庫

前端

Servlet

Http

Spring+SpringMVC+Mybatis

SpringBoot

Dubbo+Zookeeper+分布式基礎

Maven+Git

Ajax+Json

...

這個階段怎麼學習
微服務四個問題: 1、服務很多,用戶端怎通路? 2、這麼多服務,服務之間怎麼通信? 3、這麼多服務,怎麼治理? 4、服務挂了怎麼辦? 解決方案選型: 1、Spring Cloud NetFlix(已經停止維護):一站式解決方案!可解決上述4個核心問題 API網關:Zuul元件 通信:Feign --- HttpClient --- Http通信方式,同步,阻塞 服務注冊與發現:Eureka 熔斷機制:Hystrix 2、Apache Dubbo Zookeeper:半自動!需要整合别人的 API網關:沒有,找到第三方元件(比如整合Zuul元件),或者自己實作 通信:Dubbo 是一個基于Java的高性能的RPC通信架構(性能比Feign強大) 服務注冊與發現:Zookeeper 熔斷機制:沒有,需要借助Hystrix 3、Spring Cloud Alibaba:目前最新一站式解決方法!可解決上述4個核心問題,更簡單 服務注冊與發現:Nacos 熔斷機制:Sentinel 萬變不離其宗4個問題: 1、API網關 2、HTTP,RPC通信 3、注冊和發現 4、熔斷機制

2、Spring Cloud 五大元件

服務注冊與發現——Netflix Eureka

負載均衡:

用戶端負載均衡——Netflix Ribbon

服務端負載均衡:——Feign(其也是依賴于Ribbon,隻是将調用方式RestTemplete 更改成Service 接口)

斷路器——Netflix Hystrix

服務網關——Netflix Zuul

分布式配置——Spring Cloud Config

3、常見面試題

什麼是微服務?

微服務之間是如何獨立通訊的?

SpringCloud 和 Dubbo有那些差別?

SpringBoot 和 SpringCloud,請談談你對他們的了解

什麼是服務熔斷?什麼是服務降級?

微服務的優缺點分别是什麼?說下你在項目開發中遇到的坑

你所知道的微服務技術棧有哪些?列舉一二

Eureka和Zookeeper都可以提供服務注冊與發現的功能,請說說兩者的差別

繼續閱讀