ABP 多租戶 對應多資料庫 租戶啟動報錯

2022-01-24 04:27:44 字數 1365 閱讀 7906

什麼是多租戶?

「軟體多租戶是指乙個軟體體系結構,其中乙個軟體例項在乙個伺服器上執行,並為多個租戶提供服務*租戶是一組共享具有軟體例項特定許可權的公共訪問許可權的使用者。 架構中,軟體應用程式旨在為每個租戶提供乙個包含其資料*,配置,使用者管理,租戶個人功能和非功能屬性的例項共享*多租戶與多例項架構形成鮮明對比,其中獨立的軟體例項執行 代表不同的租戶「(維基百科),簡而言之,多租戶是一種用於建立saas(軟體即服務)應用程式的技術。

有一些不同的多租戶資料庫和部署方法:

1、多個部署 - 多個資料庫

實際上這不是多租戶,但是如果我們為每個客戶(租戶)執行乙個具有獨立資料庫的應用程式例項,則可以在一台伺服器上為多個租戶提供服務。我們只需確保應用程式的多個例項在相同的伺服器環境中不會相互衝突。

對於不是被設計為多租戶的現有應用來說,這也是可能的。由於應用程式不知道多租戶,建立這樣的應用程式更容易。然而,這種方法存在設定,使用和維護問題。

2、單一部署 - 多個資料庫

在這種方法中,我們在伺服器上執行應用程式的單個例項。我們有乙個主(主機)資料庫來儲存租戶元資料(如租戶名和子域)和每個租戶的單獨資料庫。一旦我們確定了當前的租戶(例如,從子域或從使用者登入表單),那麼我們可以切換到該租戶的資料庫來執行操作。在這種方法中,應用程式應該在一定程度上被設計為多租戶,但大部分應用程式可以保持獨立。我們為每個租戶建立和維護乙個單獨的資料庫,這包括資料庫遷移。如果我們有許多專用資料庫的客戶,則在應用程式更新期間遷移資料庫模式可能需要很長時間。由於每個租戶都有獨立的資料庫,我們可以將資料庫與其他租戶分開備份。如果租戶需要,我們也可以將租戶資料庫遷移到更強大的伺服器上。

3、單一部署 - 單個資料庫

但是,asp.net boilerplate通過使用自動資料過濾來幫助我們。如果我們有許多擁有大量資料集的租戶,這種方法可能會有效能問題。我們可以使用表分割槽或其他資料庫功能來克服這個問題。

4、單一部署 - 混合資料庫

我們可能希望將租戶正常儲存在單個資料庫中,但可能希望為所需租戶建立單獨的資料庫。例如,我們可以將擁有大資料的租戶儲存在自己的資料庫中,但將所有其他租戶儲存在單個資料庫中。

5、多部署 - 單/多/混合資料庫

圖1 報錯

系統開啟msdtc 服務後、然後使用租戶登入、發現還是有問題!

最後問了搞.net 朋友,說是配置 dtc 安全配置。

展開-> "應用程式伺服器」 -> 「工具」 ->  「元件服務」->右鍵「本地dtc」

選擇「本地dtc」的「安全選項卡」,做如下設定:

資料庫啟動後報12514錯誤

資料庫啟動後報12514錯誤,預設的listener.ora檔案如下 修改方法如下,新增幾行 到這裡,如圖所示 主要原因 oracle9i以後,後台程序pmon會自動在 中註冊在系統引數service names中定義的服務名,service names預設為db name domain name。...

Oracle啟動資料庫報ORA 01102解決辦法

一 資料庫 1.機器啟動之後登入伺服器使用sqlplus as sysdba 登入資料庫發現資料庫並沒有啟動之前把資料庫服務新增過開機自啟動 2.使用startup命令啟動資料庫報錯了 sys orcl startup oracle 例程已經啟動。total system global area 2...

mysql 多資料庫例項 Mysql多例項安裝

前言 前文已經介紹單例項的安裝,我們接著進行mysql的多例項安裝,我們利用多個配置檔案,多個啟動檔案管理多例項 一 安裝依賴包yum install ncurses devel libaio devel gcc gcc c cmake perl cd mysql 5.5.32 編譯安裝cmake ...