Java進階之微服務架構面試題:Dubbo+Spring Boot+Spring Cloud

Java Redis 面試 Nginx 算法 Docker XML Java虛擬機 Apache YAML 通信 JavaSpring高級進階 2019-05-26
Java進階之微服務架構面試題:Dubbo+Spring Boot+Spring Cloud

微服務架構

Java進階之微服務架構面試題:Dubbo+Spring Boot+Spring Cloud

  • 服務的前世今生
  • 基於分佈式思想下的RPC解決方案
  • Dubbo應用及源碼解讀
  • Docker虛擬化技術
  • SpringCloud應用及源碼解讀
  • SpringBoot

Dubbo

Java進階之微服務架構面試題:Dubbo+Spring Boot+Spring Cloud

  1. Dubbo中zookeeper做註冊中心,如果註冊中心集群都掛掉,發佈者和訂閱者之間還能通信麼?
  2. dubbo服務負載均衡策略?
  3. Dubbo在安全機制方面是如何解決的
  4. dubbo連接註冊中心和直連的區別
  5. dubbo服務集群配置(集群容錯模式)
  6. dubbo通信協議dubbo協議為什麼要消費者比提供者個數多
  7. dubbo通信協議dubbo協議為什麼不能傳大包
  8. dubbo通信協議dubbo協議為什麼採用異步單一長連接
  9. dubbo通信協議dubbo協議適用範圍和適用場景
  10. RMI協議
  11. Hessian協議
  12. http
  13. Webservice
  14. Thrif

面試題及答案的獲取方式,歡迎加入Java進階架構交流:805685193。提供Java架構進階思維導圖,主要分享分佈式架構、高可擴展、高性能、高併發、性能優化、Spring MVC、Redis、MyBatis、Nginx、Jvm大型分佈式項目實戰學習架構師視頻。

Spring Boot

Java進階之微服務架構面試題:Dubbo+Spring Boot+Spring Cloud

  1. 什麼是Spring Boot?
  2. Spring Boot有哪些優點?
  3. 什麼是JavaConfig?
  4. 如何重新加載Spring Boot上的更改,而無需重新啟動服務器?
  5. Spring Boot中的監視器是什麼?
  6. 如何在Spring Boot中禁用Actuator端點安全性?
  7. 如何在自定義端口上運行Spring Boot應用程序?
  8. 什麼是YAML?
  9. 如何實現Spring Boot應用程序的安全性?
  10. 如何集成Spring Boot和ActiveMQ?
  11. 如何使用Spring Boot實現分頁和排序?
  12. 什麼是Swagger?你用Spring Boot實現了它嗎?
  13. 什麼是Spring Profiles?
  14. 什麼是Spring Batch?
  15. 什麼是FreeMarker模板?
  16. 如何使用Spring Boot實現異常處理?
  17. 您使用了哪些starter maven依賴項?
  18. 什麼是CSRF攻擊?
  19. 什麼是WebSockets?
  20. 什麼是AOP?
  21. 什麼是Apache Kafka?
  22. 我們如何監視所有Spring Boot微服務?

面試題及答案的獲取方式,歡迎加入Java進階架構交流:805685193。提供Java架構進階思維導圖,主要分享分佈式架構、高可擴展、高性能、高併發、性能優化、Spring MVC、Redis、MyBatis、Nginx、Jvm大型分佈式項目實戰學習架構師視頻。

Spring Cloud

Java進階之微服務架構面試題:Dubbo+Spring Boot+Spring Cloud

  1. 什麼是Spring Cloud?
  2. 使用Spring Cloud有什麼優勢?
  3. 服務註冊和發現是什麼意思?Spring Cloud如何實現?
  4. 負載平衡的意義什麼?
  5. 什麼是Hystrix?它如何實現容錯?
  6. 什麼是Hystrix斷路器?我們需要它嗎?
  7. 什麼是Netflix Feign?它的優點是什麼?
  8. 什麼是Spring Cloud Bus?我們需要它嗎?

面試題及答案的獲取方式,歡迎加入Java進階架構交流:805685193。提供Java架構進階思維導圖,主要分享分佈式架構、高可擴展、高性能、高併發、性能優化、Spring MVC、Redis、MyBatis、Nginx、Jvm大型分佈式項目實戰學習架構師視頻。

答案解析

dubbo連接註冊中心和直連的區別

在開發及測試環境下,經常需要繞過註冊中心,只測試指定服務提供者,這時候可能需要點對點直連,

點對點直聯方式,將以服務接口為單位,忽略註冊中心的提供者列表,

服務註冊中心,動態的註冊和發現服務,使服務的位置透明,並通過在消費方獲取服務提供方地址列表,實現軟負載均衡和Failover, 註冊中心返回服務提供者地址列表給消費者,如果有變更,註冊中心將基於長連接推送變更數據給消費者。

服務消費者,從提供者地址列表中,基於軟負載均衡算法,選一臺提供者進行調用,如果調用失敗,再選另一臺調用。註冊中心負責服務地址的註冊與查找,相當於目錄服務,服務提供者和消費者只在啟動時與註冊中心交互,註冊中心不轉發請求,服務消費者向註冊中心獲取服務提供者地址列表,並根據負載算法直接調用提供者,註冊中心,服務提供者,服務消費者三者之間均為長連接,監控中心除外,註冊中心通過長連接感知服務提供者的存在,服務提供者宕機,註冊中心將立即推送事件通知消費者

註冊中心和監控中心全部宕機,不影響已運行的提供者和消費者,消費者在本地緩存了提供者列表

註冊中心和監控中心都是可選的,服務消費者可以直連服務提供者。

Spring Boot有哪些優點?

  1. 減少開發,測試時間和努力。
  2. 使用JavaConfig有助於避免使用XML。
  3. 避免大量的Maven導入和各種版本衝突。
  4. 提供意見發展方法。
  5. 通過提供默認值快速開始開發。
  6. 沒有單獨的Web服務器需要。這意味著你不再需要啟動Tomcat,Glassfish或其他任何東西。
  7. 需要更少的配置 因為沒有web.xml文件。只需添加用@ Configuration註釋的類,然後添加用@Bean註釋的方法,Spring將自動加載對象並像以前一樣對其進行管理。您甚至可以將@Autowired添加到bean方法中,以使Spring自動裝入需要的依賴關係中。
  8. 基於環境的配置 使用這些屬性,您可以將您正在使用的環境傳遞到應用程序:-Dspring.profiles.active = {enviornment}。在加載主應用程序屬性文件後,Spring將在(application{environment} .properties)中加載後續的應用程序屬性文件。

什麼是Spring Cloud?

Spring cloud流應用程序啟動器是基於Spring Boot的Spring集成應用程序,提供與外部系統的集成。Spring cloud Task,一個生命週期短暫的微服務框架,用於快速構建執行有限數據處理的應用程序。

面試題及答案的獲取方式,歡迎加入Java進階架構交流:805685193。提供Java架構進階思維導圖,主要分享分佈式架構、高可擴展、高性能、高併發、性能優化、Spring MVC、Redis、MyBatis、Nginx、Jvm大型分佈式項目實戰學習架構師視頻。

相關推薦

推薦中...