java接口作用和好处,持续更新大厂面试笔试题
業(yè)界常用的服務(wù)注冊與發(fā)現(xiàn)組件對比
了解服務(wù)注冊與發(fā)現(xiàn)的基本原理后,如果你要在項目中使用服務(wù)注冊與發(fā)現(xiàn)組件,當(dāng)面對眾多的開源組件該如何進行技術(shù)選型?
在互聯(lián)網(wǎng)公司里,有研發(fā)實力的大公司一般會選擇自研或者基于開源組件進行二次開發(fā),但是對于中小型公司來說直接選用一款開源軟件會是一個不錯的選擇。
常用的注冊與發(fā)現(xiàn)組件有eureka,zookeeper,consul,etcd等,由于eureka在2018年已經(jīng)宣布放棄維護,這里就不再推薦使用了。
業(yè)界開源組件
下面結(jié)合各個維度對比一下各組件。
組件優(yōu)點缺點接口類型一致性算法zookeeper1.功能強大,不僅僅只是服務(wù)發(fā)現(xiàn);
2.提供watcher機制可以實時獲取服務(wù)提供者的狀態(tài);
3.廣泛使用,dubbo等微服務(wù)框架已支持;1.沒有健康檢查;
2.需要在服務(wù)中引入sdk,集成復(fù)雜度高;
3.不支持多數(shù)據(jù)中心;sdkPaxosconsul1.開箱即用,方便集成;
2.帶健康檢查;
3.支持多數(shù)據(jù)中心;
4.提供web管理界面;不能實時獲取服務(wù)變換通知restful/dnsRaftetcd1.開箱即用,方便集成;
2.可配置性強1.沒有健康檢查;
2.需配合三方工具完成服務(wù)發(fā)現(xiàn)功能;
3.不支持多數(shù)據(jù)中心;restfulRaft
從整體上看consul的功能更加完備和均衡。接下來以consul為例詳細(xì)介紹一下。
Consul——值得推薦的服務(wù)注冊與發(fā)現(xiàn)開源組件
簡單認(rèn)識一下Consul
Consul是HashiCorp公司推出的開源工,使用Go語言開發(fā),具有開箱即可部署方便的特點。Consul是分布式的、高可用的、 可橫向擴展的用于實現(xiàn)分布式系統(tǒng)的服務(wù)發(fā)現(xiàn)與配置。
Consul有哪些優(yōu)勢?
- 服務(wù)注冊發(fā)現(xiàn):Consul提供了通過DNS或者restful接口的方式來注冊服務(wù)和發(fā)現(xiàn)服務(wù)。服務(wù)可根據(jù)實際情況自行選擇。
- 健康檢查:Consul的Client可以提供任意數(shù)量的健康檢查,既可以與給定的服務(wù)相關(guān)聯(lián),也可以與本地節(jié)點相關(guān)聯(lián)。
- 多數(shù)據(jù)中心:Consul支持多數(shù)據(jù)中心,這意味著用戶不需要擔(dān)心Consul自身的高可用性問題以及多數(shù)據(jù)中心帶來的擴展接入等問題。
Consul的架構(gòu)圖
Consul架構(gòu)
Consul 實現(xiàn)多數(shù)據(jù)中心依賴于gossip protocol協(xié)議。這樣做的目的:
- 不需要使用服務(wù)器的地址來配置客戶端;服務(wù)發(fā)現(xiàn)是自動完成的。
- 健康檢查故障的工作不是放在服務(wù)器上,而是分布式的。
Consul的使用場景
Consul的應(yīng)用場景包括服務(wù)注冊發(fā)現(xiàn)、服務(wù)隔離、服務(wù)配置等。
服務(wù)注冊發(fā)現(xiàn)場景中consul作為注冊中心,服務(wù)地址被注冊到consul中以后,可以使用consul提供的dns、http接口查詢,consul支持health check。
服務(wù)隔離場景中consul支持以服務(wù)為單位設(shè)置訪問策略,能同時支持經(jīng)典的平臺和新興的平臺,支持tls證書分發(fā),service-to-service加密。
服務(wù)配置場景中consul提供key-value數(shù)據(jù)存儲功能,并且能將變動迅速地通知出去,借助Consul可以實現(xiàn)配置共享,需要讀取配置的服務(wù)可以從Consul中讀取到準(zhǔn)確的配置信息。
2021年Java中高級面試必備知識點總結(jié)
在這個部分總結(jié)了2019年到目前為止Java常見面試問題,取其面試核心編寫成這份文檔筆記,從中分析面試官的心理,摸清面試官的“套路”,可以說搞定90%以上的Java中高級面試沒一點難度。
本節(jié)總結(jié)的內(nèi)容涵蓋了:消息隊列、Redis緩存、分庫分表、讀寫分離、設(shè)計高并發(fā)系統(tǒng)、分布式系統(tǒng)、高可用系統(tǒng)、SpringCloud微服務(wù)架構(gòu)等一系列互聯(lián)網(wǎng)主流高級技術(shù)的知識點。
目錄:
(上述只是一個整體目錄大綱,每個點里面都有如下所示的詳細(xì)內(nèi)容,從面試問題——分析面試官心理——剖析面試題——完美解答的一個過程)
部分內(nèi)容:
對于每一個做技術(shù)的來說,學(xué)習(xí)是不能停止的,小編把2019年到目前為止Java的核心知識提煉出來了,無論你現(xiàn)在是處于什么階段,如你所見,這份文檔的內(nèi)容無論是對于你找面試工作還是提升技術(shù)廣度深度都是完美的。
不想被后浪淘汰的話,趕緊搞起來吧,高清完整版一共是888頁,需要的話可以點贊+關(guān)注后,點擊這里免費獲取!
淘汰的話,趕緊搞起來吧,高清完整版一共是888頁,需要的話可以點贊+關(guān)注后,點擊這里免費獲取!
總結(jié)
以上是生活随笔為你收集整理的java接口作用和好处,持续更新大厂面试笔试题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 点点滴滴的爱剧情介绍
- 下一篇: java接口开发规范,干货满满