發布訂閱消息系統Apache Pulsar簡介及消息隊列TDMQ基礎


1.Apache Pulsar (孵化器項目)是一個企業級的發布訂閱(pub-sub)消息系統,最初由 Yahoo 開發,並於 2016 年底開源,現在是 Apache 軟件基金會的一個孵化器項目。Pulsar 在 Yahoo 的生產環境運行了三年多,助力 Yahoo 的主要應用,如 Yahoo Mail、Yahoo Finance、Yahoo Sports、Flickr、Gemini 廣告平台和 Yahoo 分布式鍵值存儲系統 Sherpa。

原文:https://www.infoq.cn/article/2017/11/apache-pulsar-brief-introduction

2.多租戶的理解

一、多租戶SaaS架構

小A、小B、小C大學畢業后,一起同租了一套三室兩廳的房子。三個人都擁有自己獨立的房間,且每個房間都有配有一把鑰匙,保證三個人獨立的空間私密性。如果其他人要進入別人的房間,就需要擁有配套房間的鑰匙進行開鎖。而客廳、餐廳、廚房等屬於公共區域,三人共同享有這些資源。

這里小A、小B、小C就屬於應用SaaS多租戶解決方案的企業實體。應用運行在同一個或同一組服務商(即三個人同租一套房子,廚房、餐廳、客廳是多租戶環境下的系統和應用程序、組件),每個數據庫都存儲來自多個獨立租戶的數據(即房子擁有三間不同的房間),然后通過使用保護數據隱私的機制來邏輯隔離不通租戶之間的數據(即每個房間都有配套的鑰匙來保證安全隔離)。因此多租戶架構也被稱為單實例架構(Single Instance)。

在多租戶環境中,由於應用都運行在相同的服務器上,所有的數據都保存在同一個多租戶隔離的數據庫中,因此多租戶模式通常會比較節省硬件資源。但是由於多租戶SaaS架構需要具備相同的硬件、網絡和操作系統配置能力,所以很難實現根據單一用戶的需求去做功能上的定制化,也很難根據某個用戶的請求進行常規的系統升級、重啟之類的操作。

二、單租戶SaaS架構

如果多租戶是多個人租一套房子,每個人擁有一個房間,那么單租戶就是一個人租一套房子,無須與其他人共享客廳、餐廳、廚房等資源。單租戶SaaS架構中,每個客戶都會有獨立的軟件和硬件環境支撐系統運行,每個數據庫僅存儲來自一個租戶的數據,因此單租戶模式通常也被稱為多實例架構(Multiple Instance)。

單租戶模式下,不同客戶之間的應用軟件和數據一般通過硬件來進行隔離,因此單租戶模式被廣泛應用在客戶需要支持定制化的應用場景。每個租戶可以購買特定的軟件實例,通過定制化滿足他們的特定需求。除了雲服務提供商提供的基礎功能,用戶也擁有很多的可配置能力:比如,用戶可以調整不同的配置需求,向內部數據庫或者外部合作伙伴的數據庫添加不同的模塊。

三、SaaS多租戶和單租戶有什么分別?

1、安全管控等級不同

SaaS多租戶的數據庫存儲來自多個獨立租戶的數據,雖然設置有安全隔離,但在安全管控等級上,還是單租戶更高。因為單租戶擁有獨立的軟件和硬件環境,數據庫也僅存儲一個租戶的數據,這從技術上就禁止了數據泄露的可能性。單租戶的架構有時候更適合某些需要安全管控、甚至必須有法律合規性要求的行業。

2、數據備份復雜程度不同

SaaS單租戶擁有獨立數據庫,因此備份恢復客戶數據庫非常容易。而多租戶是共用一個數據庫,租戶的數據既有隔離又有共享,系統不能每天自動執行企業的獨立備份。若企業需要數據備份,必須每天通過API自己去手動操作。如果出現故障,數據恢復比較困難,因為牽扯到其他租戶的數據,所以需要逐表逐條備份和還原,倘若需要跨租戶統計數據,更是困難。這也是多租戶SaaS架構的最大缺點。

3、可配置能力不同

SaaS多租戶很難實現根據單一用戶的需求去做功能定制化,因為是使用共享系統,通常無法對平台進行更改,即使是只更改一行代碼這樣簡單的定制化開發。就像多個人同租一套房子,大家共用可以降低房租成本,但是在居住時不能根據自己的喜好隨意配置房子。而單租戶不同,房子只由一個人使用,可以根據自身需要配置或更改房間物品,它可能比多租戶花費更多的費用,但提高了靈活性,支持定制化,可以調整不同的配置需求。大企業如證券交易所、銀行、保險公司、電信公司及航天企業等是需要能定制的SaaS、PaaS及IaaS部署、運維及IT服務,故多租戶公有雲模式並不適合。

4、控制升級時間不同

SaaS多租戶的系統維護成本低,多租戶系統在升級時,只需要更新一次,維護人員不需要對每個用戶更新,節省了很大的運維成本,這對於所有客戶都在做同樣事情的系統來說是很有用的。但倘若系統升級時間是在企業特別忙碌的時候出現,勢必會對企業用戶造成影響。同理,如果出現問題或故障需要重啟系統,也必須等到晚上才能操作,因為重啟會影響到其他企業的使用。而單租戶系統就避免了這樣的問題。在單租戶系統中,每個用戶需要單獨升級,這使得企業可以控制升級的時間和方式,選擇延遲甚至跳過升級周期。

TDMQ


Topic命名規則

Topic完整名稱由租戶名+命名空間+Topic
對應雲環境:租戶名為appid, 命名空間為環境變量

Why we moved from Apache Kafka to Apache Pulsar

https://streamnative.io/en/blog/tech/2020-04-21-from-apache-kafka-to-apache-pulsar/

文章
Apache Pulsar 在騰訊計費場景下的應用
TDMQ跨城方案
Pulsar 基本概念
Pulsar 里的信息傳遞究竟是什么樣子
互動連線|Topic 與 Broker 之間的秘密
Apache Pulsar 與 Kafka 性能比較:延遲性(測試方法)
Kafka-on-Pulsar 的前世今生
為什么他們將 Kafka 換成了 Pulsar?
其它


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM