国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

saas多數(shù)據(jù)庫,如果單個租戶訪問較大占完mysql連接數(shù)怎么辦

酒米

假設(shè)有100個租戶,mysql最大連接數(shù)50,如果1號租戶當(dāng)前訪問比較多,會不會占完最大連接數(shù),如果占完有處理辦法嗎

1574 2 6
2個回答

walkor 打賞

可以嘗試只配置一個連接,然后通過USE語句切換數(shù)據(jù)庫。

Db::statement('USE your_database_name');

例如寫一個中間件,判斷當(dāng)前屬于哪個租戶,然后切換到對應(yīng)租戶的數(shù)據(jù)庫。
這樣每個進(jìn)程只有一個數(shù)據(jù)庫連接,只要保證進(jìn)程數(shù)不超過數(shù)據(jù)庫最大連接數(shù)就可以。

  • Le 2024-07-16

    這樣是不是需要把數(shù)據(jù)庫放在不同的服務(wù)器上

  • walkor 2024-07-16

    這種方案是不同的數(shù)據(jù)庫在同一個服務(wù)器,并且是同一個端口

  • 酒米 2024-07-16

    大佬你說的方法我試過了,很棒,然后我設(shè)想了一下情況,如果a租戶他的訪問非常大,可以給他開通一個單獨(dú)的數(shù)據(jù)庫服務(wù)器,配置參數(shù)做表示A,中間件判斷如果是A就切換服務(wù)器,如果不是A就用use的辦法切換。但最后我感覺如果真有這樣的租戶,還是完整的走單獨(dú)服務(wù),要不然進(jìn)程數(shù)也會限制最大連接數(shù)

  • gift 2025-01-02

    Db::statement('USE your_database_name');這種在并發(fā)的時候會不會有問題,多個請求打到了同一個worker進(jìn)程上,然后有一個請求修改了數(shù)據(jù)庫,其它請求會不會查詢到錯誤的數(shù)據(jù)

  • walkor 2025-01-03

    請求處理前先走中間件切換數(shù)據(jù)庫,可以保證每個請求使用正確的數(shù)據(jù)庫。

calvin

這是隊(duì)列消費(fèi)也是帶上數(shù)據(jù)庫信息動態(tài)切換后在執(zhí)行任務(wù)?

  • damao 2024-07-17

    隊(duì)列消息必須帶租戶信息(或數(shù)據(jù)庫信息)吧,否則你都不知道處理的是誰的,需要操作數(shù)據(jù)庫時也不知道操作哪個庫

  • tanhongbin 2024-07-17

    這是啥需求?

  • calvin 2024-07-17

    還有沒別的方案,現(xiàn)在就是這么干的,感覺好麻煩

  • 酒米 2024-07-17

    還有緩存、文件存儲等等

??