首頁 >Java >Java面試題 >2020全新Java面試題-Spring Boot/Spring Cloud(二)

2020全新Java面試題-Spring Boot/Spring Cloud(二)

王林
王林轉載
2020-07-01 16:22:323042瀏覽

2020全新Java面試題-Spring Boot/Spring Cloud(二)

一、jpa 和 hibernate 有什麼差別?

(推薦學習:java面試題

  • #JPA Java Persistence API,是Java EE 5的標準ORM接口,也是ejb3規範的一部份。

  • Hibernate,當今很流行的ORM框架,是JPA的實現,但是其功能是JPA的超集。

  • JPA和Hibernate之間的關係,可以簡單的理解為JPA是標準接口,Hibernate是實作。那麼Hibernate是如何實現與JPA的這種關係的呢。 Hibernate主要是透過三個元件來實現的,及hibernate-annotation、hibernate-entitymanager和hibernate-core。

  • hibernate-annotation是Hibernate支援annotation方式配置的基礎,它包括了標準的JPA annotation以及Hibernate自身特殊功能的annotation。

  • hibernate-core是Hibernate的核心實現,提供了Hibernate所有的核心功能。

  • hibernate-entitymanager實現了標準的JPA,可以把它看成hibernate-core和JPA之間的適配器,它並不直接提供ORM的功能,而是對hibernate- core進行封裝,使得Hibernate符合JPA的規範。

二、什麼是 spring cloud?

從字面理解,Spring Cloud 就是致力於分散式系統、雲端服務的框架。

Spring Cloud 是整個 Spring 家族中新的成員,是最近雲端服務火熱的必然產物。

Spring Cloud 為開發人員提供了快速建置分散式系統中一些常見模式的工具,例如:

  • 設定管理

  • 服務註冊與發現

  • 斷路器

  • #智慧型路由

  • 服務間調用

  • 負載平衡

  • 微型代理

  • 控制總線

  • #一次性令牌

  • 全域鎖定

  • #領導選舉

  • 分散式會話

  • 群集狀態

  • 分散式訊息

  • ##…

#使用Spring Cloud 開發人員可以開箱即用的實作這些模式的服務和應用程式。這些服務可以在任何環境下運行,包括分散式環境,也包括開發人員自己的筆記型電腦以及各種託管平台。

三、spring cloud 斷路器的作用是什麼?

在Spring Cloud中使用了Hystrix 來實現斷路器的功能,斷路器可以防止一個應用程式多次試圖執行一個操作,即很可能失敗,允許它繼續而不等待故障恢復或浪費CPU 週期,而它確定該故障是持久的。

斷路器模式也使應用程式能夠檢測故障是否已解決,如果問題似乎已修正,應用程式可以嘗試呼叫操作。

斷路器增加了穩定性和靈活性,以一個系統,提供穩定性,而係統從故障中恢復,並儘量減少此故障的對性能的影響。它可以幫助快速地拒絕對一個操作,即很可能失敗,而不是等待操作逾時(或不返回)的請求,以保持系統的回應時間。

如果斷路器提高每次改變狀態的時間的事件,該資訊可以被用來監測由斷路器保護系統的部件的健康狀況,或以提醒管理員當斷路器跳閘,以在打開狀態。

四、spring cloud 的核心元件有哪些?

1、服務發現-Netflix Eureka

一個RESTful服務,用來定位在AWS地區(Region)中運作的中間層服務。由兩個元件組成:Eureka伺服器和Eureka客戶端。 Eureka伺服器用作服務註冊伺服器。

Eureka客戶端是一個java客戶端,用來簡化與伺服器的互動、作為輪詢負載平衡器,並提供服務的故障切換支援。 Netflix在其生產環境中使用的是另外的客戶端,它提供基於流量、資源利用率以及出錯狀態的加權負載平衡。

2、客服端負載平衡-Netflix Ribbon

Ribbon,主要提供客戶端的軟體負載平衡演算法。 Ribbon用戶端元件提供一系列完善的設定選項,例如連線逾時、重試、重試演算法等。 Ribbon內建可插拔、可自訂的負載平衡組件。

3、斷路器——Netflix Hystrix

斷路器可以防止一個應用程式多次試圖執行一個操作,即很可能失敗,允許它繼續而不等待故障恢復或浪費CPU週期,而它確定該故障是持久的。斷路器模式也使應用程式能夠檢測故障是否已解決。如果問題似乎已經修正,應用程式可以嘗試呼叫操作。

4、服務閘道-Netflix Zuul

類似nginx,反向代理的功能,不過netflix自己增加了一些配合其他元件的特性。

5、分散式配置——Spring Cloud Config

這個還是靜態的,得配合Spring Cloud Bus實現動態的配置更新。

以上是2020全新Java面試題-Spring Boot/Spring Cloud(二)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除