自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Salesforce架構(gòu):日事務(wù)過13億,2.4萬(wàn)TPS的數(shù)據(jù)庫(kù)峰值

云計(jì)算
近日,salesforce.com的可靠性工程師發(fā)表了Salesforce核心平臺(tái)和應(yīng)用的架構(gòu)概覽,其中并未涉及Heroku的Dyno、work.com等其它產(chǎn)品的子系統(tǒng),但是覆蓋了database.com。

近日,salesforce.com的可靠性工程師發(fā)表了Salesforce核心平臺(tái)和應(yīng)用的架構(gòu)概覽,其中并未涉及Heroku的Dyno、work.com等其它產(chǎn)品的子系統(tǒng),但是覆蓋了database.com。以下為譯文:

自1999年,salesforce.com就專注于互聯(lián)網(wǎng)技術(shù),致力傳統(tǒng)企業(yè)軟件的置換。首先從salesforce.com的一些術(shù)語(yǔ)開始:

術(shù)語(yǔ)定義

1. 實(shí)例——系統(tǒng)、網(wǎng)絡(luò)及存儲(chǔ)設(shè)施的一個(gè)完整集合,包括共享和不共享兩種,將Salesforce的服務(wù)打包成子集提供給用戶。比如na14.salesforce.com就是一個(gè)實(shí)例。

2. Superpod——由系統(tǒng)、網(wǎng)絡(luò)和存儲(chǔ)設(shè)施組成的1個(gè)集合,包括外出代理服務(wù)器(outboud proxy server)、負(fù)載均衡器、電子郵件服務(wù)器、SAN設(shè)備及支撐多種實(shí)例的其它基礎(chǔ)設(shè)施。Superpod提供數(shù)據(jù)中心級(jí)別的服務(wù)隔離,因此在共享和復(fù)雜組件上產(chǎn)生的問題不會(huì)波及數(shù)據(jù)中心上的所有實(shí)例。

3. Org(又名organization)——Salesforce應(yīng)用程序的***用戶。在www.salesforce.com或者developer.force.com上的每次訪問都會(huì)產(chǎn)生一個(gè)新的org。org可以高度定制,讓標(biāo)準(zhǔn)salesforce.com CRM對(duì)象(甚至是REST API)可以擁有不同的安全設(shè)置、記錄可見度以及共享設(shè)置,UI界面外觀、工作流、觸發(fā)器、定制對(duì)象、定制字段。Org支持任何場(chǎng)景,可以用來支撐1到100萬(wàn)的獨(dú)立授權(quán)用戶、門戶用戶以及Force.com Sites用戶。

4. 沙箱——salesforce.com實(shí)例的一種,為客戶應(yīng)用部署托管完整產(chǎn)品org的全拷貝。讓用戶在Salesforce應(yīng)用平臺(tái)上可以進(jìn)行完整的應(yīng)用程序開發(fā)周期。在產(chǎn)品變動(dòng)部署前,提供針對(duì)應(yīng)用程序的測(cè)試環(huán)境。

統(tǒng)計(jì)數(shù)據(jù)(截止2013年8月)

·18個(gè)北美實(shí)例、4個(gè)EMEA實(shí)例及2個(gè)APAC實(shí)例

·20個(gè)沙箱實(shí)例

·13億以上的日事務(wù)處理

·峰值情況下每秒2.4萬(wàn)個(gè)數(shù)據(jù)庫(kù)事務(wù)

·1.5萬(wàn)個(gè)以上的硬件系統(tǒng)

·原始存儲(chǔ)容量高于22 PB

·5000個(gè)以上的SAN port

使用的技術(shù)

·作為開發(fā)和主要產(chǎn)品系統(tǒng)的Linux

·Solaris 10 w/ ZFS

·Jetty

·Solr

·Memcache

·Apache QPID

·QFS

·Puppet, Razor

·Perl, Python

·Nagios

·Perforce, Git, Subversion

·硬件及軟件架構(gòu)

1. 支撐登錄

Salesforce運(yùn)維了大量的服務(wù)器為實(shí)例支撐登錄,其中一部分的服務(wù)器被用來處理登錄請(qǐng)求,并把會(huì)話重定義到用戶自己的實(shí)例,這也是登錄login.salesforce.com時(shí)候所做的事情。

用戶流量開始于Salesforce的外部DNS,一旦實(shí)例收到IP地址,會(huì)通過標(biāo)準(zhǔn)的互聯(lián)網(wǎng)路由將其直接發(fā)送給合適的數(shù)據(jù)中心。

一旦這個(gè)流量進(jìn)入了某個(gè)數(shù)據(jù)中心,它將被指向IP地址對(duì)應(yīng)的負(fù)載均衡器,所有來自互聯(lián)網(wǎng)的IP都會(huì)在active/standby服務(wù)器上以VIP的形式配置。

2. 實(shí)例內(nèi)部

負(fù)載均衡器將流量指向應(yīng)用程序?qū)又付ǖ膶?shí)例,標(biāo)準(zhǔn)網(wǎng)頁(yè)流量及API流量都會(huì)放到這個(gè)層。API占所有流量的60%,基于用戶的需求,它將被轉(zhuǎn)到附加服務(wù)器層進(jìn)行不同類型的后端處理。

3. 核心應(yīng)用

核心應(yīng)用層使用了10到40個(gè)服務(wù)器,數(shù)量主要取決于實(shí)例。每個(gè)服務(wù)器都單獨(dú)運(yùn)行一個(gè)多達(dá)14 GB堆配置的Hotspot JVM,,主要取決于服務(wù)器硬件配置。

批處理服務(wù)器主要負(fù)責(zé)數(shù)據(jù)庫(kù)層的既定、自動(dòng)化進(jìn)程。舉個(gè)例子,在單歸檔文件格式下,Weekly Export進(jìn)程被作為一種備份形式,用以導(dǎo)出用戶數(shù)據(jù)。

Salesforce.com提供了一系列的服務(wù),包括了基礎(chǔ)及高級(jí)的內(nèi)容管理。使用一個(gè)內(nèi)容搜索服務(wù)器和一個(gè)批處理服務(wù)器來管理內(nèi)容應(yīng)用層的異步進(jìn)程。內(nèi)容批處理服務(wù)器負(fù)責(zé)內(nèi)容類型進(jìn)程的調(diào)度,擁有指定文件類型渲染預(yù)覽及文件類型轉(zhuǎn)換等功能。

4. 數(shù)據(jù)庫(kù)

主數(shù)據(jù)流一般發(fā)生在核心應(yīng)用層和數(shù)據(jù)庫(kù)層之間,從軟件的觀點(diǎn)來看,所有處理都會(huì)通過數(shù)據(jù)庫(kù),所以數(shù)據(jù)庫(kù)的性能至關(guān)重要。每個(gè)主實(shí)例(比如NA、AP或者EU實(shí)例)使用了1個(gè)8節(jié)點(diǎn)集群數(shù)據(jù)庫(kù)層。用戶沙箱,比如CS實(shí)例,使用了1個(gè)4節(jié)點(diǎn)集群數(shù)據(jù)庫(kù)層。

鑒于salesforce.com系統(tǒng)偏向于數(shù)據(jù)庫(kù)驅(qū)動(dòng),減少數(shù)據(jù)庫(kù)上的負(fù)載至關(guān)重要。為了減少負(fù)載,他們開發(fā)了ACS——API Cursor Server,它可以幫助解決提高數(shù)據(jù)庫(kù)性能上的兩個(gè)問題。首先,之前他們?cè)跀?shù)據(jù)庫(kù)中儲(chǔ)存游標(biāo),但是刪除操作會(huì)影響性能。其次,在使用數(shù)據(jù)庫(kù)表格來處理游標(biāo)之后,DDL開銷會(huì)帶來負(fù)效應(yīng)。ACS是個(gè)運(yùn)行在2個(gè)服務(wù)器上的游標(biāo)緩存系統(tǒng),讓數(shù)據(jù)庫(kù)在游標(biāo)處理上得以解放。

5. 搜索

Salesforce的搜索層運(yùn)行在商用Linux主機(jī)上,每個(gè)都可以擴(kuò)展到640 GB PCI-E閃存,一般使用它來緩存搜索結(jié)果。這些主機(jī)通過NFS文件系統(tǒng)從共享SAN陣列中讀取數(shù)據(jù),搜索索引被存儲(chǔ)在閃存上將提供更高的性能,從而獲得更大的搜索吞吐量。

搜索索引一般發(fā)生在轉(zhuǎn)換服務(wù)器上,它將通過Fibre Channel SAN從儲(chǔ)存陣列中mount LUN。這些LUN組成了QFS文件系統(tǒng),允許單寫及多讀。類似其它的核心系統(tǒng),使用active/passive模式,passive節(jié)點(diǎn)只用于執(zhí)行一些低優(yōu)先級(jí)索引搜索工作。之后會(huì)將結(jié)果返回給active節(jié)點(diǎn),從而寫入QFS文件系統(tǒng)。

當(dāng)這些相同的LUN被一組4個(gè)在SPARC上運(yùn)行Solaris 10的NFS服務(wù)器只讀mount時(shí),會(huì)發(fā)生這種轉(zhuǎn)換,這些裝載了SAN的文件系統(tǒng)都通過NFS共享到之前描述的搜索層中。

6. Fileforce

我們同樣運(yùn)維著對(duì)象存儲(chǔ)層,類似于Amazon的S3或者是OpenStack的Swift項(xiàng)目。Fileforce由內(nèi)部開發(fā),用以減少DB層上的負(fù)載。引用之前介紹的Fileforce,Binary Large Object(BLOB)被直接存儲(chǔ)到數(shù)據(jù)庫(kù)中。一旦使用Fileforce,所有大于32 KB的BLOB都被遷移其中,而小于這個(gè)值的BLOB仍然儲(chǔ)存在數(shù)據(jù)庫(kù)中。Fileforce中的BLOB在數(shù)據(jù)庫(kù)中都有引用,所以如果想從備份中恢復(fù)Fileforce中的數(shù)據(jù),必須在數(shù)據(jù)庫(kù)備份的基礎(chǔ)上,重新開啟一個(gè)擁有相同恢復(fù)點(diǎn)的數(shù)據(jù)庫(kù)。

Fileforce還包含了一個(gè)捆綁功能,用以減少Filfeforce服務(wù)器上的磁盤搜索。如果在數(shù)據(jù)庫(kù)上存儲(chǔ)了100個(gè)以上小于32KB的對(duì)象,一個(gè)運(yùn)行在應(yīng)用服務(wù)器上的進(jìn)程會(huì)將這些對(duì)象都整合到一個(gè)單一的文件。數(shù)據(jù)庫(kù)中會(huì)保存一個(gè)到整合文件的引用,并且記錄了文件在整合文件中的偏移量,這特性類似于Facebook的Haystack文件存儲(chǔ)系統(tǒng)。

7. 支持

每個(gè)實(shí)例都包含了多種服務(wù)器用以支持不同的任務(wù),比如:應(yīng)用層的應(yīng)用程序調(diào)試服務(wù)器“Hammer testing”、用以監(jiān)視每個(gè)實(shí)例健康狀態(tài)的hub服務(wù)器、以及運(yùn)行Nagios的監(jiān)視服務(wù)器。而在實(shí)例之外仍然存在一些支持服務(wù)器,比如儲(chǔ)存管理、數(shù)據(jù)庫(kù)管理、日志聚合、產(chǎn)品身份驗(yàn)證及其它功能。

責(zé)任編輯:王程程 來源: Highscalability
相關(guān)推薦

2011-11-29 09:29:43

Salesforce數(shù)據(jù)庫(kù)云計(jì)算

2023-08-27 16:11:35

數(shù)據(jù)庫(kù)分布式事務(wù)數(shù)據(jù)庫(kù)

2010-10-08 09:38:55

Android數(shù)據(jù)庫(kù)事

2009-09-24 14:12:22

Hibernate數(shù)據(jù)

2024-08-29 10:47:27

2023-10-11 08:09:53

事務(wù)隔離級(jí)別

2018-07-20 11:10:21

數(shù)據(jù)庫(kù)事務(wù)隔離性

2010-04-15 08:57:29

Oracle數(shù)據(jù)庫(kù)

2025-04-08 06:00:00

2020-07-15 21:49:01

Rspec數(shù)據(jù)庫(kù)事務(wù)

2024-05-28 00:00:30

Golang數(shù)據(jù)庫(kù)

2019-05-14 14:45:51

華為OracleSAP

2017-01-19 18:20:59

數(shù)據(jù)架構(gòu)數(shù)據(jù)庫(kù)

2020-06-17 16:56:36

數(shù)據(jù)庫(kù)MySQL跨行事務(wù)

2017-08-22 17:10:45

數(shù)據(jù)庫(kù)MySQL事務(wù)模型

2010-07-05 17:41:37

SQL Server

2024-04-08 10:11:15

MYSQL數(shù)據(jù)庫(kù)事務(wù)

2010-09-08 15:55:20

SQL事務(wù)特性

2019-05-05 09:28:59

架構(gòu)數(shù)據(jù)查詢

2019-07-29 14:40:26

架構(gòu)存儲(chǔ)檢索
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)