成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

挖一個大坑,WebFlux 開搞!

開發 架構
隨著 Spring5 的推出,WebFlux 被置于越來越重要的位置,無論是內在的學習驅動,還是公司的項目要求,很多小伙伴們都開始關注 WebFlux 了,也有很多小伙伴在微信上私我能不能整一套 WebFlux 教程?

[[397755]]

隨著 Spring5 的推出,WebFlux 被置于越來越重要的位置,無論是內在的學習驅動,還是公司的項目要求,很多小伙伴們都開始關注 WebFlux 了,也有很多小伙伴在微信上私我能不能整一套 WebFlux 教程?

整當然是能整,不過最近忙是真的忙,松哥最近開始帶團隊了,有很多需要和其他部門對接的事情,晚上十一點還在出方案。。。寫公號的時間被嚴重壓縮了,但是不管怎么樣,該寫還是要寫,不僅僅是對小伙伴們的承諾,也是對自己的承諾。

想來想去,這次就整 WebFlux 吧,有小伙伴已經催了快一年了,該搞了。

今天我們就先來介紹下響應式系統,畢竟不了解響應式系統,那學習 WebFlux 干嘛?

1.什么是響應式系統

響應式系統的目標是靈敏度高,系統穩健一直有回復,松耦合和可擴展。響應式系統是一種架構,可以應用于任何地方,無論是一個小小的博客網頁,還是復雜的網購系統,都可以使用響應式架構。

一般來說,響應式系統有四個顯著的特點:

  • 即時響應(responsive)
  • 回彈性(resilience)
  • 彈性(elastic)
  • 消息驅動(message driven)

下面這張圖很好的描述了這幾者之間的關系:

消息驅動是手段,彈性和回彈性是形式,最終的即時響應就是它的價值。

接下來我們來逐個介紹這四種特性。

2.四大特點

2.1 即時響應(responsive)

即時響應的特點就是一個字,快!

現在 4G 的普及,百兆千兆帶寬的使用,CPU 計算能力的提高,都在降低用戶對于一個系統的耐心,一個網頁,5s 沒加載完,用戶已經覺得體驗很差了,30s 還沒加載出來,那你可能失去這個用戶。

所以我們需要構建一個健壯的、能夠快速響應的即時響應系統,特別是在一些高并發的場景下,響應延遲還能保持在合理范圍內,這才是最重要的。

要實現這一目標,要用到很多具體的技術,例如異步加載、預加載等。另外還涉及到彈性(elastic)與回彈性(resilience)這樣一些原則性問題。

2.2 彈性(elastic)

彈性其實就是指系統隨時可以動態擴展。

舉個例子,一個電商網站,平時活躍用戶有限,所需要的服務器數量足夠支撐日常服務即可,沒有必要多買,畢竟都是要花錢的。一旦遇上大促,系統的流量在短時間內爆發出來,這個時候就需要能夠隨時隨地方便的為系統擴容,這就是系統的彈性。

松哥在之前的文章中和大家聊過 Nginx 負載均衡,這其實就是一種擴容的手段。現在很多中小公司可能回采用云服務,如果使用云服務,一般都可以非常方便的實現動態擴容。

2.3 回彈性(resilience)

回彈性就是指當系統遭遇到失敗時,依然能夠對外提供服務。松哥在之前和大家分享 Spring Cloud 時,Hystrix 的功能之一就是容錯,當一個服務崩掉的時候,不會拖累到其他服務。通過服務的降級、隔離等手段,可以保證回彈性。回彈性還會要求在系統出錯的時候,能夠自動進行重試。

其實大家看回彈性這個單詞 resilience,不知道有沒有想起來在 Spring Cloud 體系中,用來替代 Hystrix 的工具就叫做 resilience4j,所以如果你了解 Hystrix 的功能,大概就知道什么是回彈性。不了解 Spring Cloud 的話,可以看看這個網站:www.itboyhub.com。

2.4 消息驅動(message driven)

消息驅動是具體的實現手段。

在分布式系統中,我們要解耦、隔離服務、提高可伸縮性,為了達成這一目標,消息驅動是最佳選擇。因為只有消息驅動能夠同時滿足即時響應、彈性以及回彈性這些要求。

有的小伙伴在學習微服務的時候,可能會看到一個名詞,就叫做消息驅動的微服務。

在松哥的微人事中,有一個郵件發送的功能,就用到了消息驅動,發件人只需要把郵件內容扔到消息中間件中即可,剩余的事情都不用管了,郵件服務器會自動從消息中間件中讀取郵件信息然后將郵件發送出去,發送失敗的事務、回滾等等操作,都由郵件服務器自行處理,發送方只管把消息扔出去就行了,這就很好的實現了解耦。

這就是我們常說的響應式系統的四大特點。

3.身邊的響應式系統

響應式系統其實離我們并不遠,不是說用了 WebFlux、用了 Gateway、用了異步 Servlet 就是響應式系統,這其實沒有必然聯系,上面那些都是實現響應式系統的一個具體方案,具體技術而已。

舉一個很簡單的消息驅動微服務的案例,如下圖:

引入了消息中間件 RabbitMQ/Kafka 之后,能夠很好的實現 A 服務和 B 服務的解耦,同時利用 RabbitMQ/Kafka 自帶的消息消費失敗重試的功能也能很好的提高系統的容錯性和可靠性。

松哥之前專門錄過提高消息中間件可靠性的視頻,感興趣的小伙伴可以看看:

提高可靠性:

處理冪等性:

4.小結

總之,響應式系統是一個架構層面的東西,它有四個基本特點,它還有很多具體的實現手段,這些具體的實現手段松哥將在未來的文章中和大家逐一進行介紹。

本文轉載自微信公眾號「江南一點雨」,可以通過以下二維碼關注。轉載本文請聯系江南一點雨公眾號。

 

責任編輯:武曉燕 來源: 江南一點雨
相關推薦

2024-12-09 08:25:47

Springsave方法

2025-01-16 16:16:53

2024-08-30 11:40:19

2015-05-11 10:39:19

2024-09-24 13:31:33

2020-03-27 10:20:05

安全眾測滲透測試網絡安全

2022-03-15 17:35:20

電商系統架構

2019-10-18 12:57:38

邊緣計算云計算安全

2012-05-30 09:40:55

Linux鍋爐

2022-03-08 13:08:45

數據庫異構數據庫

2023-10-26 07:29:06

mongodb十六進制ID

2017-12-27 14:51:12

Kotlin谷歌Java

2022-02-28 00:14:30

人工智能數據機器學習

2015-07-27 10:34:55

大數據大忽悠

2017-03-21 21:17:50

大數據數據互聯網

2024-08-12 15:55:51

2015-07-13 14:15:19

SDN

2022-11-13 10:07:22

SpringSpringBoot

2016-11-28 15:17:52

大數據應用大數據

2017-01-11 09:22:03

大數據應用資源
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91av视频在线观看 | 操操网站 | 草草网 | www.youjizz.com日韩 | 国产一区三区在线 | 亚洲福利在线观看 | 日本欧美国产 | a级大片免费观看 | 国产不卡在线 | 国产高清一区二区三区 | 国产成人精品一区二区 | 日韩久久久久久 | 国产乱码精品一区二区三区五月婷 | 国产在线精品一区二区三区 | 青青草久久 | 国产一区二区三区视频在线观看 | 成人免费一区二区 | 热99精品视频| 国产精品一区2区 | 亚洲欧美国产一区二区三区 | 欧美亚洲视频 | 国产免费看 | 欧美在线视频免费 | 成人免费视频网站在线看 | 久久亚洲综合 | 亚洲一区 中文字幕 | 亚洲性爰 | 日韩不卡视频在线观看 | 国产精品99久久久久 | 婷婷精品| 精品一区二区三区四区 | 日日日日日日bbbbb视频 | 欧美日韩精品国产 | 国产精品久久久久久久久久 | 国产在线高清 | 国产精品3区 | 91av视频| 看av电影 | 日韩在线视频一区 | 日韩视频在线免费观看 | 成人无遮挡毛片免费看 |