日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

datatable怎么根据两列分组_谈谈怎么做服务隔离

發布時間:2025/3/11 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 datatable怎么根据两列分组_谈谈怎么做服务隔离 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

來源于公眾號孤獨煙 ,

作者孤獨煙

引言

OK,如下圖所示


那顯而易見,做服務隔離的目的就是避免服務之間相互影響。畢竟誰也不能說自己的微服務百分百可用,如果不做隔離,一旦一個服務出現了問題,整個系統的穩定性都會受到影響!


因此,做服務隔離是很有必要的。那么怎么隔離呢?

  • 按種類隔離
  • 按用戶隔離

OK,接下來開始細說這兩種方式!

正文

種類隔離

其實按照服務種類隔離要從兩個緯度來說:即服務提供方服務調用方

假設我們一個系統有三個服務:訂單服務,庫存服務,支付服務!有如下調用關系:

OK,我們先明確一點,上面有幾個服務扮演服務提供方的角色?

一共是三個:支付服務(給用戶提供服務)、庫存服務(給支付服務提供服務)、訂單服務(給支付服務提供服務)

有幾個服務扮演服務調用方的角色?

一共是一個:支付服務(調用訂單服務和庫存服務)

針對服務提供方這個角度而言,怎么做隔離呢?

很簡單,每一個服務乃至其對應的數據庫,給一個服務器部署就行!這樣某個服務出現了故障,就不會相互影響,達到一種物理層面上的隔離!

什么,你們公司服務器不夠?了解一下《微服務為什么一定要用docker》

針對服務調用方這個角度而言,怎么做隔離呢?

OK,先明白一點,服務調用方不做隔離會出現什么情況?如圖所示

一個請求過來,占用支付服務中的Tomcat的一個線程。然后,該線程去順序調用訂單服務和庫存服務!

那么,一旦庫存服務出問題了,這個Tomcat的線程就一直卡在那,無法返回!與此同時,頁面上源源不斷的有請求過來,會把Tomcat里頭的線程池資源全部消耗完畢!對于后面的請求,Tomcat就無法響應!


因此,如果不針對被調服務做服務隔離,一個被調服務出問題,就將導致調用方服務不可用!

那怎么隔離呢?

這里介紹一種線程池隔離方式,給每個微服務都初始化出一個線程池,如下圖所示,給訂單服務和庫存服務都初始化出一個線程池,不使用Tomcat線程池中的線程直接調用,而是用相應線程池中的線程去調用!

OK,如果此時庫存服務不可用了呢?


庫存服務線程池會被迅速塞滿,此時后面進來的新請求發現庫存服務線程池滿啦,于是乎就不去調庫存服務,直接返回!

如下圖所示

ps:目前業內有信號量隔離和線程池隔離兩種隔離方式,這里舉的是線程池隔離!

怎么實現呢?

可以了解一下Hytrix、Sentinel、以及Resilience4j如何和你的項目結合起來使用!Resilience4j只提供信號量隔離!

用戶隔離

OK,我們先明白一點這里的租戶和用戶不是一個概念!

  • 用戶: 一個環境/系統的一個使用者即該環境/系統的一個用戶。
  • 租戶:用戶從某種粒度上被分到若干內,每組成為一個租戶。

這里的可以這么理解:用戶根據一定的特征去做分組,比如是VIP的一組,不是VIP的一組。又或者北方的用戶一組,南方的用戶一組。按照自己的業務場景來分組。

那么所謂的用戶隔離,就是按照不同的分組形成不同的服務實例。這樣某個服務實例掛了,只影響對應分組的用戶,而不是全部用戶!

有如下三種方式!

  • 方式一:每個租戶有獨立的服務和獨立的數據庫
  • 方式二:每個租戶有共享的服務和獨立的數據庫
  • 方式三:每個租戶有共享的服務和共享的數據庫

下面開始逐個說明

方式一

每個租戶有獨立的服務和獨立的數據庫!

這個在生產上一般是這么做,如下所示

如圖所示,用戶在請求的時候會經過網關!網關根據tenant_id識別出對應的服務實例,進行轉發。至于用什么當網關,我們用的是Zuul。

方式二

每個租戶有共享的服務和獨立的數據庫!

這個在生產上一般是這么做,如下所示

如圖所示,用戶在請求的時候會經過網關,網關將數據轉發給用戶服務!用戶服務根據tenant_id確定該操作哪一個數據庫!

OK,這個時候大家應該有一個疑問,

在項目代碼中,怎么確定該操作的數據庫?

好,這個就是ORM框架,動態選擇數據源的問題!我以國內流行的hibernate和mybatis來進行說明!

(1)hibernate方式

在4.0版本hibenate開始支持多租戶架構,即對不同租戶使用獨立數據庫!大家可以搜索一個配置,叫hibernate.multiTenancy。該值有一個value值為

DATABASE:一個租戶一個database。?

將這項的value值設為DATABASE后,還需要給hibernate.tenant_identifier_resolver配置項賦值,即告訴hibernate,如何解析出tenant_id。

以及給hibernate.multi_tenant_connection_provider配置項賦值,即告訴hibernate如何以租戶特有的方式獲取數據連接!

ps:看不懂的童鞋略過,懂hibernate的童鞋自然懂這個配置!

(2)mybatis方式

mybatis沒提供這種多租戶架構的支持!我們必須要擴展AbstractRoutingDataSource抽象類,實現多數據源切換!

嫌麻煩?

OK,介紹你一個插件叫mybatis plus可以實現這種動態數據源切換!
API地址都給你貼出來了:

mp.baomidou.com/guide/dynamic-datasource.html

ps:我只能給你點一下思路,自己去查。因為具體如何配置,都可以寫一篇文章!我很不愛寫這種貼配置的文章,覺得含金量不高,所以大家根據我的思路去實現即可!

方式三

每個租戶有共享的服務和共享的數據庫!

這個在生產上一般是這么做,如下所示

如圖所示,用戶在請求的時候會經過網關,網關將數據轉發給用戶服務!用戶服務根據tenant_id確定操作數據庫中的哪一行記錄!


老規矩,和你們說一下在ORM中難點在哪!以mybatis為例,所有的sql上都要加一句

AND?t.tenant_id?=??

是不是覺得很麻煩?怎么解決呢?

(1)hibernate方式

利用hibernate filter配置, OR-Mapping配置文件使用Filter,可以在進行數據查詢時自動過濾數據!

如下所示

????//省略????

ps:看不懂的童鞋略過,懂hibernate的童鞋自然懂這個配置!

(2)mybatis方式

mybatis中有一個東西叫做自定義Interceptor,可以攔截出你要執行的sql,然后動態拼上你的租戶條件即可!

嫌麻煩?

OK,介紹你一個插件叫mybatis plus可以實現這種多租戶的更改,可以動態的解析出sql,增加上條件!

API地址都給你貼出來了:

mp.baomidou.com/guide/tenant.html

總結

本文介紹了服務隔離的分類,以及在生產上具體是怎么做的,希望大家有所收獲!

總結

以上是生活随笔為你收集整理的datatable怎么根据两列分组_谈谈怎么做服务隔离的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久久在线 | 香蕉视频成人在线观看 | 一级少妇精品久久久久久久 | 在线观看的黄网 | 欧美人妖69xxxxxhd3d | 日本一区二区视频在线 | a级国产视频 | 奇米99 | 日韩不卡高清 | 久久久免费精品视频 | 国产日韩欧美视频在线 | 金鱼妻日剧免费观看完整版全集 | 激情一区二区 | 国产一级久久久久毛片精品 | 国产欧美在线看 | 日韩伊人久久 | 精品国产xxx | 69精品一区二区三区 | 国产小视频在线观看免费 | 日本国产一级片 | 爱爱视频天天干 | 女人18片毛片60分钟 | 久久aⅴ乱码一区二区三区 亚洲成人18 | 日日夜夜伊人 | 亚洲av成人片色在线观看高潮 | 啪啪官网| 91小视频在线观看 | 天天天天天天天天干 | 天天操天天干天天爽 | 国产精品免费久久久久 | 少妇一级1淫片 | 欧美视频在线观看一区二区 | 毛片网站免费 | 蜜桃av色偷偷av老熟女 | 超碰cc | 亚洲欧美日韩精品一区 | 亚洲综合站 | 蜜色视频 | 国产乱淫av片免费看 | 日韩福利电影在线观看 | 国产欧美日韩在线观看 | 日韩激情第一页 | 免费国产精品视频 | 337p嫩模大胆色肉噜噜噜 | 99热这里只有精品在线 | 91最新在线 | 亚洲最大的网站 | 天天色综合av | 打白嫩屁屁网站视频短裙 | 嫩草在线视频 | 深田咏美中文字幕 | 国产丰满果冻videossex | 亚洲va欧美| 精品午夜久久久 | 亚洲另类一区二区 | 日韩少妇毛片 | 自拍欧美亚洲 | 日韩av自拍偷拍 | 一级片播放 | 国产精品成人无码免费 | 美女被男生免费视频 | 中出av在线| 天天干天天爱天天射 | 潘金莲一级淫片aaaaa | 国产麻豆影视 | a级片在线免费观看 | 国产精品人人爽人人爽 | 欧美日韩色 | 人妻一区在线 | 欧美两根一起进3p做受视频 | 打屁屁日本xxxxx变态 | 污污网站在线观看视频 | 三级黄色小视频 | 亚洲av无码电影在线播放 | 久久久久99精品成人片直播 | 麻豆国产91在线播放 | av天天射 | 国产亚洲成av人片在线观看桃 | 国产女主播视频 | 欧美午夜视频在线观看 | 巨乳美女在线 | av先锋影音| 黄色网页观看 | 视频福利在线观看 | 中文字幕码精品视频网站 | 妻子的性幻想 | 激情五月婷婷在线 | 欧美在线视频一区 | 厕拍极品 | 久久精品网 | 奇米影视一区二区 | 亚洲av成人片无码 | 亚洲欧美日韩精品 | 午夜黄色 | 国产一级二级在线观看 | 少妇一级淫片免费观看 | 成人网战 | 亚洲精品99久久久久中文字幕 | 日本猛少妇色xxxxx猛叫 |