腾讯+字节+阿里面经真题汇总,总结到位
前言
前幾天我上班路上,和小區門口開車的師傅閑聊,發現他們雖然學歷不高,但掙錢的途徑不少,比如固定接送多位客戶,然后能通過朋友圈拓展新客戶,而且通過客戶口口相傳,也能不斷拉到生意,算下來每月也能掙1萬5出頭,好的話能有2萬,我在上海,做IT的要月入2萬,如果不是996,估計本科畢業還得干幾年。
可能有人會說了,他們第一不交金,第二未必穩定,但這批師傅學歷也就高中,對于這個學歷來說,這個收入不能算低。反觀我們,可能不少做IT的人,一心只做技術,只拿固定工資,不去拓展掙錢途徑,或者雖然到處找活干,但和路邊裝修隊相比,只是多了份固定工資,總之很難突破收入瓶頸。
所以我們IT人除了在不斷提升自己的技術能力之外,更得積極主動地拓展掙錢途徑,本文就將圍繞這點展開。
一、Spring Cloud微服務概念定義
提起微服務,不得不提 Spring Cloud 全家桶系列,Spring Cloud 是一個服務治理平臺,是若干個框架的集合,提供了全套的分布式系統解決方案。包含了:服務注冊與發現、配置中心、服務網關、智能路由、負載均衡、斷路器、監控跟蹤、分布式消息隊列等等。
Spring Cloud 通過 Spring Boot 風格的封裝,屏蔽掉了復雜的配置和實現原理,最終給開發者留出了一套簡單易懂、容易部署的分布式系統開發工具包。開發者可以快速的啟動服務或構建應用、同時能夠快速和云平臺資源進行對接。微服務是可以獨立部署、水平擴展、獨立訪問(或者有獨立的數據庫)的服務單元,Spring Cloud 就是這些微服務的大管家,采用了微服務這種架構之后,項目的數量會非常多,Spring Cloud 做為大管家需要管理好這些微服務,自然需要很多小弟來幫忙。
二、Spring Cloud子項目
Spring Cloud 包含很多子項目,我們重點圍繞 Netflix 和 Alibaba 兩個標準實現給大家介紹:
三、Spring Cloud Netflix 第一代
Netflix是一家美國公司,在美國、加拿大提供互聯網隨選流媒體播放,定制DVD、藍光光碟在線出租業務。該公司成立于1997年,總部位于加利福尼亞州洛斯蓋圖,1999年開始訂閱服務。2009年,該公司可提供多達10萬部DVD電影,并有1千萬的訂戶。2007年2月25日,Netflix宣布已經售出第10億份DVD。HIS一份報告中表示,2011年Netflix網絡電影銷量占據美國用戶在線電影總銷量的45%。
?
針對多種 Netflix 組件提供的開發工具包,其中包括 Eureka、Ribbon、Feign、Hystrix、Zuul、Archaius 等。
- Netflix Eureka:一個基于 Rest 服務的服務治理組件,包括服務注冊中心、服務注冊與服務發現機制的實現,實現了云端負載均衡和中間層服務器的故障轉移。
- Netflix Ribbon:客戶端負載均衡的服務調用組件。
- Netflix Hystrix:容錯管理工具,實現斷路器模式,通過控制服務的節點,從而對延遲和故障提供更強大的容錯能力。
- Netflix Feign:基于 Ribbon 和 Hystrix 的聲明式服務調用組件。
- Netflix Zuul:微服務網關,提供動態路由,訪問過濾等服務。
- Netflix Archaius:配置管理 API,包含一系列配置管理 API,提供動態類型化屬性、線程安全配置操作、輪詢框架、回調機制等功能。
四、Spring Cloud Alibaba 第二代
同 Spring Cloud 一樣,Spring Cloud Alibaba 也是一套微服務解決方案。Spring Cloud Alibaba 致力于提供微服務開發的一站式解決方案。此項目包含開發分布式應用微服務的必需組件,方便開發者通過 Spring Cloud 編程模型輕松使用這些組件來開發分布式應用服務。
依托 Spring Cloud Alibaba,只需要添加一些注解和少量配置,就可以將 Spring Cloud 應用接入阿里微服務解決方案,通過阿里中間件來迅速搭建分布式應用系統。
這幅圖是 Spring Cloud Alibaba 系列組件,其中包含了阿里開源組件,阿里云商業化組件,以及集成 Spring Cloud 組件。
「阿里開源組件」
- Nacos:阿里巴巴開源產品,一個更易于構建云原生應用的動態服務發現、配置管理和服務管理平臺。
- Sentinel:面向分布式服務架構的輕量級流量控制產品,把流量作為切入點,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性。
- RocketMQ:一款開源的分布式消息系統,基于高可用分布式集群技術,提供低延時的、高可靠的消息發布與訂閱服務。
- Dubbo:Apache Dubbo? 是一款高性能 Java RPC 框架,用于實現服務通信。
- Seata:阿里巴巴開源產品,一個易于使用的高性能微服務分布式事務解決方案。
「阿里商業化組件」
- Alibaba Cloud ACM:一款在分布式架構環境中對應用配置進行集中管理和推送的應用配置中心產品。
- Alibaba Cloud OSS:阿里云對象存儲服務(Object Storage Service,簡稱 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存儲服務。您可以在任何應用、任何時間、任何地點存儲和訪問任意類型的數據。
- Alibaba Cloud SchedulerX:阿里中間件團隊開發的一款分布式任務調度產品,提供秒級、精準、高可靠、高可用的定時(基于 Cron 表達式)任務調度服務。
- Alibaba Cloud SMS:覆蓋全球的短信服務,友好、高效、智能的互聯化通訊能力,幫助企業迅速搭建客戶觸達通道。
作為 Spring Cloud 體系下的新實現,Spring Cloud Alibaba 跟官方的組件或其它的第三方實現如 Netflix,Consul,Zookeeper 等對比,具備了更多的功能:
五、常用組件
- Spring Cloud Netflix Eureka:服務注冊中心。
- Spring Cloud Zookeeper:服務注冊中心。
- Spring Cloud Consul:服務注冊和配置管理中心。
- Spring Cloud Netflix Ribbon:客戶端負載均衡。
- Spring Cloud Netflix Hystrix:服務容錯保護。
- Spring Cloud Netflix Feign:聲明式服務調用。
- Spring Cloud OpenFeign(可替代 Feign):OpenFeign 是 Spring Cloud 在 Feign 的基礎上支持了 Spring MVC 的注解,如 @RequesMapping等等。OpenFeign 的 @FeignClient 可以解析 SpringMVC 的 @RequestMapping 注解下的接口,并通過動態代理的方式產生實現類,實現類中做負載均衡并調用其他服務。
- Spring Cloud Netflix Zuul:API 網關服務,過濾、安全、監控、限流、路由。
- Spring Cloud Gateway(可替代 Zuul):Spring Cloud Gateway 是 Spring 官方基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技術開發的網關,Spring Cloud Gateway 旨在為微服務架構提供一種簡單而有效的統一的 API 路由管理方式。Spring Cloud Gateway 作為 Spring Cloud 生態系中的網關,目標是替代 Netflix Zuul,其不僅提供統一的路由方式,并且基于 Filter 鏈的方式提供了網關基本的功能,例如:安全,監控/埋點,和限流等。
- Spring Cloud Security:安全認證。
- Spring Cloud Config:分布式配置中心。配置管理工具,支持使用 Git 存儲配置內容,支持應用配置的外部化存儲,支持客戶端配置信息刷新、加解密配置內容等。
- Spring Cloud Bus:事件、消息總線,用于在集群(例如,配置變化事件)中傳播狀態變化,可與 Spring Cloud Config 聯合實現熱部署。
- Spring Cloud Stream:消息驅動微服務。
- Spring Cloud Sleuth:分布式服務跟蹤。
- Spring Cloud Alibaba Nacos:阿里巴巴開源產品,一個更易于構建云原生應用的動態服務發現、配置管理和服務管理平臺。
- Spring Cloud Alibaba Sentinel:面向分布式服務架構的輕量級流量控制產品,把流量作為切入點,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性。
- Spring Cloud Alibaba RocketMQ:一款開源的分布式消息系統,基于高可用分布式集群技術,提供低延時的、高可靠的消息發布與訂閱服務。
- Spring Cloud Alibaba Dubbo:Apache Dubbo? 是一款高性能 Java RPC 框架,用于實現服務通信。
- Spring Cloud Alibaba Seata:阿里巴巴開源產品,一個易于使用的高性能微服務分布式事務解決方案。
六、總結
雖然 Eureka,Hystrix 等不再繼續開發或維護,但是目前來說不影響使用,不管怎么說感謝開源,向 Netflix 公司的開源致敬。
最后
總而言之,面試官問來問去,問的那些Redis知識點也就這么多吧,復習的不夠到位,知識點掌握不夠熟練,所以面試才會卡殼。將這些Redis面試知識解析以及我整理的一些學習筆記分享出來給大家參考學習
有需要這些學習筆記資料的朋友注意啦:戳這里即可免費領取
還有更多學習筆記面試資料也分享如下(都可免費領取):
.qq.com/doc/DSmxTbFJ1cmN1R2dB)**
還有更多學習筆記面試資料也分享如下(都可免費領取):
[外鏈圖片轉存中…(img-d3msWfZ0-1623240918838)]
總結
以上是生活随笔為你收集整理的腾讯+字节+阿里面经真题汇总,总结到位的全部內容,希望文章能夠幫你解決所遇到的問題。