京解之才——2019年技术盘点微服务篇(三)| 程序员硬核评测
戳藍字“CSDN云計算”關注我們哦!
程序員硬核測評:客觀、高效、不說軟話。無論是技術質量、性能水平,還是工具篩選,一測便知!
過去幾年來,“微服務架構”方興未艾,盡管這種架構風格沒有確切的定義,但我們已經看到許多項目憑借此架構取得了積極的進展,因此對于許多開發者來說,微服務正成為構建企業應用程序的默認風格。可悲的是,沒有太多的信息概述微服務的風格以及如何去做。而實際上,擁有一個合適的微服務開發平臺將會非常有助于實現微服務架構,基于此,CSDN云計算特別策劃了微服務平臺盤點系列文章,欲以CSDN中立技術社區專業、客觀的角度,探討如何為開發者選擇合適的微服務開發平臺,以幫助其企業實現微服務架構。為此,我們采訪了數家提供微服務平臺的云服務廠商,這次,我們來聊聊京東云JDSF。
京解之才
? ? ? ?——2019微服務盤點之JDSF
微服務的“硬幣兩面”
目前,大型互聯網公司都存在比較成熟的微服務平臺,所有服務都是按微服務的方式在運行。這些公司線上已經運行了大量的線上微服務,它們關注的焦點也由如何使用微服務開發模式向著超大規模系統的流量壓力和可用性如何保證,如何做觀測,如何做測試等方面轉移。同時,很多公司開始嘗試將服務網格以及無服務器架構引入自身系統,分別解決多架構復雜需求的靈活支持問題,以及資源完全按需伸縮的彈性問題。
但另外一方面,很多傳統企業還處在考慮服務該怎么拆分,自己現有的RPC框架如何升級為更強大的微服務架構等方面的問題。雖然基于Kubernetes的服務架構存在很多優點,但原有業務需要一定的改動以更符合云原生的架構,才能更平穩的遷移到新的微服務架構,而這樣的改動,其實對這些公司是一個挑戰。同時,在微服務開發方面,如何能讓業務開發人員能夠更容易的理解服務治理的邏輯,讓微服務的開發和運維更加簡單,也讓這些傳統企業開發團隊傷透了腦筋。
而解決這一問題的捷徑,無疑是選擇一款適合自身的微服務平臺莫屬。微服務平臺能夠讓微服務之間的關系更加可控制、數據更易可觀測、性能更加可優化,從而幫助企業開發者迅速搭上微服務開發的快車。不過,選擇適合自己的微服務平臺,對于這些企業來說,實際上也是一個挑戰,如果倉促選擇了不適合自己業務的微服務平臺,將可能會導致服務之間調用關系混亂,調用安全不可控,配置變更不可控,出現的問題無法定位、無法追溯等問題,效果反而會事倍功半。
那么,應該如何選擇一個適合企業自身需求的微服務平臺呢?
如何選擇微服務平臺
京東云專家架構師王碧波表示,從微服務的基本概念著眼,微服務提倡一個服務系統中不要被迫容納太多功能,最好是比較獨立的一組,將開發、部署、擴展等定義為一個單元來進行操作,整體來看很簡單。但實際上遠不是想象的那樣,在服務運行的過程中會產生很依賴,此外調用關系需要十分細致的梳理,關于服務狀態以及生命周期管理也會一并變得極為復雜。
? ? ?
而一個好的微服務架構,總結來看,主要應該包括四個方面能力:
整個生命周期的過程管理;
微服務場景下功能實現的輔助;
功能之間相互調用的能力;
在整個微服務系統中做運行觀測的能力。
比方說為了系統的考慮,大家都希望有些設計可以服務本地,在本地部署緩存;但是當數據發生變更的時候,本地緩存的機制更新如何被設計就是個問題,也是經常容易出現bug的地方,這種事情就是微服務框架應該著重思考的。
簡單來說,微服務平臺首先需要絕對穩定和高可用,其次功能要完備,再次使用要夠方便用戶部署、管理,同時要盡量開放。
而京東云分布式服務框架(JDCloud?Distributed?Service?Framework,簡稱JDSF)在滿足上述標準的基礎上,同時又擁抱開源,符合用戶開發、測試及部署的操作習慣,最大程度的減少用戶各個階段的研發和運維成本。
京東云JDSF微服務平臺
京東云JDSF是一種托管的服務治理框架,可圍繞微服務的整個生命周期,提供服務部署、注冊、發現、調用、監控等全方位功能。它完全適配Spring?Cloud框架,可使用原生的Spring?Cloud包,可連接JDSF的注冊中心、配置中心和調用鏈分析服務。依托京東云同城多機房網絡高速互聯的基礎設施,JDSF產品所有組件都具備跨機房的高可用性,使用者無需再擔心雷擊、挖斷光纜等各種異常導致的服務中斷。
京東云JDSF,具有以下特點:
1、全托管模式,屬于高可用產品。京東云分布式服務框架依托京東多可用區部署,服務跨可用區分布式部署。用戶開通服務后,無需任何運維操作,即可享受跨機房的高可用性。
2、可調用,可觀察。微服務調用圖譜通過提供豐富的調用堆棧分析,使我們既能從宏觀上觀察業務關系及調用鏈整體特質,又能從微觀上審視調用鏈上各環節的細節,結合多種分析手段,幫助用戶全面掌握服務的調用情況。
3、屬于一站式方案。服務框架與彈性部署、日志分析等系統深度集成,用戶可以更加容易地處理服務整個生命周期中的各種運維需求。另外,京東云對所有服務都做了性能和穩定性的極致優化,同時還支持隨時發起動態擴容,解決隨著服務數量或請求量增加導致服務性能下降的問題。
? ? ?
該框架主要應用與兩個場景:一個是構建微服務系統;另外一個是調用關系管理。采用分布式服務框架,企業可以很容易地將自身業務遷移到微服務框架上。服務框架提供的功能,使用戶不用再關注服務框架實現和運維,可完全專注在業務的設計和拆分上。而對于大型分布式系統而言,梳理調用關系以及管理調用權限往往是非常復雜的。分布式服務框架內置的調用鏈分析功能和服務鑒權機制,可以有效的幫助用戶管理服務調用過程。
王碧波介紹說,京東云的微服務框架的推出首先是為了解決自身問題,讓語言和架構都存在很大差異的成千上萬個服務都能夠穩定的協同工作。云服務需要最高的穩定性,所以JDSF微服務框架也是穩定性第一,而且能夠保證始終高可用,數據不遺漏不丟失,不會被非法訪問,并且在異常情況下都有相應解決問題的運維工具和預案。
京東云的微服務平臺是在支撐京東集團內部多年大流量線上服務的過程中積累起來的,經過了大型生產系統的長時間驗證。京東云在基礎資源性能,服務跨機房多活,故障自動恢復等方面都做了很多優化。京東云微服務框架的目標是在整個開發流程中為用戶提供各種工具集,最大可能的減少用戶的開發和維護及實施成本,使用戶只需關注代碼實現的正確和業務的方向上,其他的各種保障和維護交給平臺來處理即可。
京東微服務的技術路線
在談到京東在微服務方面的未來發展時,王碧波表示,京東云內部去年已經在生產系統上線了號稱“下一代微服務”的Istio服務網格,經過半年的運行,已經積累了大量的優化和運維經驗。京東云將于今年下半年上線針對云用戶的服務網格產品,用內部沉淀下來的能力幫助云用戶更好的進行服務治理。另外,京東云非常看好無服務器架構的未來,相信以后會有大量的線上服務會以無服務器的方式運行,京東云也會持續在無服務器技術方面加大投入。
技術點評
作為京東云推出的一個分布式服務框架,JDSF首先做到了開源開放,它兼容標準的主流微服務框架,不綁定用戶。服務框架目前支持SpringCloud,Dubbo等應用類型,同時兼容Go、dotNet、Python等語言的各種開發框架。其次,JDSF采用組件化的模式,所有功能都可以按需啟用,不會導致“全家桶”捆綁。第三,JDSF平臺具有高可靠,跨可用區的高可用,對各種異常情況都有較強的適應能力。第四,JDSF具有很高的性能,可以輕松應對超大規模集群的服務治理需求。
因此,從各個方面來說,京東云JDSF都具有了成為一個優秀微服務平臺的能力和潛力,再加上京東云在應用實踐中的不斷打磨和持續優化,實可稱之為微服務平臺的“京解之才”。
福利
掃描添加小編微信,備注“姓名+公司職位”,加入【云計算學習交流群】,和志同道合的朋友們共同打卡學習!
推薦閱讀:
漫畫:圖的?“最短路徑”?問題?|?技術頭條
一張“黑洞”照片需半噸重硬盤?更逆天的操作還有這些……
Python的10個“秘籍”,這些技術專家全都告訴你了
12?歲開始自學?Web?開發,他竟說初學者別搭理大牛?!
從?0?到管理?200?人,這位程序員是如何做到的??|?程序員有話說
4000萬假幣流入波場, 發生在凌晨的BTT假幣攻擊事件始末及細節披露
馬云再談?996:真正的?996?與被剝削無關
真香,朕在看了!
總結
以上是生活随笔為你收集整理的京解之才——2019年技术盘点微服务篇(三)| 程序员硬核评测的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Boost::context模块call
- 下一篇: 《复联4》| 生活需要漫威这块糖