亚洲色欲色欲在线大片_亚洲AV @ -区二区柚木提娜_日本成人手机午夜在线_欧美群妇大交群_精品国产精品国产自制久久_韩日中文字幕_欧美性猛交xxxx_动漫av一区二区在线观看_亚洲黄色网站大全_欧美一区二区三区国产精品,亚洲va韩国va欧美va,风韵丰满熟妇啪啪区老熟熟女,麻花豆传媒剧国产电影

Saas系統(tǒng)架構(gòu)運營經(jīng)驗總結(jié)

日期:2018-02-01

分享:

  最近一年,,有幸架構(gòu)一個CRM Saas 系統(tǒng),上線了幾個月來,,各方面都比滿意,。整個系統(tǒng)創(chuàng)建過程,踩了很多坑,,收獲也比較多,。總結(jié)一下Saas系統(tǒng)架構(gòu)一些特點;

  1.分層設(shè)計Saas系統(tǒng)分層大概是:

  租戶識別;應(yīng)用層;數(shù)據(jù)訪問層;緩存層;數(shù)據(jù)庫業(yè)務(wù)代碼都是寫在應(yīng)用層,。租戶識別可以用Spring攔截器實現(xiàn),然后使用ThreadLocal傳遞給后端數(shù)據(jù)庫和緩存層對應(yīng)用層應(yīng)該是透明的,。程序員在寫代碼的時候,,只關(guān)心業(yè)務(wù)邏輯,不應(yīng)該擔(dān)心多租戶的問題,。

  2.數(shù)據(jù)隔離要透明Saas系統(tǒng)說起來很簡單,,任何系統(tǒng)似乎加個tenantid(租戶id)就變成Saas系統(tǒng)了。比如原來的用戶登錄是:

  對于復(fù)雜業(yè)務(wù)的saas系統(tǒng),,這樣做法非常危險,,而且開發(fā)效率很低。你想想如果那個程序員寫sql時候忘了加 “ and tenant_id =1” . 結(jié)果不堪設(shè)想,。比較好做法是在數(shù)據(jù)庫訪問層對SQL進行改寫,。在連接池根據(jù)TenatnContext改寫Sql. 這樣做好處是,一來程序猿最多把系統(tǒng)搞down了,,也不至于信息串了互相泄露,。二來將來做分表分庫也很方便,上層應(yīng)用不用修改,。
 
Saas系統(tǒng)架構(gòu)運營經(jīng)驗總結(jié)

  3. 租戶識別方案比較好做法是通過url識別租戶,。系統(tǒng)是給租戶生成一個隨機的三級域名,比如 abc.crm.baidu.com. 如果客戶想使用自己的域名,,可以在cname到我們生成的三級域名,,并在管理系統(tǒng)里面做綁定。這樣一個租戶可以有兩個域名,,訪問Saas,一個隨機生成的三級域名,,另外一個租戶自己的域名.代碼里面可以根據(jù)過來的域名,判斷是那個租戶然后初始化TenantContext.如果不想通過域名來做,,也可以通過登錄名來判斷,。這種方式要涉及到租戶切換問題,。

  4. 智能DNS智能DNS其實就是現(xiàn)在很類似的CDN的概念,同時也會根據(jù)用戶不同的網(wǎng)絡(luò)運營商,,返回響應(yīng)的線路IP,。

  5. 租戶管理系統(tǒng)(計費,訂購,,定制,,充值,催繳)Saas系統(tǒng)是必須考慮計費系統(tǒng)和租戶控制系統(tǒng),。這個系統(tǒng)需要都是獨立設(shè)計,。比如那個租戶購買了那些模塊,一個月多少錢,。租戶可以創(chuàng)建最多的用戶數(shù),。計費到期郵件提醒等功能。計費方式一般有兩種,,周期性計費,,類似月租方案,和使用量計費,用多少付多少,。 周期性計費比較簡單,。也可以兩者結(jié)合起來。

  6. 定制化開發(fā)Saas的優(yōu)勢在于一套系統(tǒng)多人使用,,似乎和定制化開發(fā)有沖突,。比如A客戶想要A功能,B客戶不想要,。但定制化開發(fā)是無法避免的,,比如CRM系統(tǒng)這樣復(fù)雜的系統(tǒng),不可能一套系統(tǒng)滿足所有公司的要求,。定制化開發(fā)盡可能分系統(tǒng),,分模塊去做。然后通過控制臺中配置不同租戶訂購不同模塊,,那些模塊可以在前端頁面上顯示,。不同的子系統(tǒng)需要分開部署。前端可通過nginx根據(jù)url分發(fā),,比如 abc.crm.baidu.com/bi/xxx/xx這個地址,,就分發(fā)到BI子系統(tǒng)。不要嘗試OSGI去搞模塊化,,這個是個大坑,。還有開發(fā)和產(chǎn)品,現(xiàn)有需求一定要分析清楚,,不要一上線發(fā)現(xiàn)后患無窮,。新功能盡量做的獨立可以配置,。

  7. 灰度升級Saas付費企業(yè)客戶對系統(tǒng)問題都特別敏感。 為了減少升級可能出現(xiàn)問題的影響范圍,,一般都采用灰度升級策略,。如果使用了url來區(qū)分不同租戶,灰度升級配置就會很方便,??梢耘渲胣ginx 來根據(jù)域名做分發(fā),比如租戶A(aaa.com)到實例1(版本1.0),,租戶B(bbb.com)到實例2(版本). 當(dāng)需要域名配置非常多的時候,,nginx配置文檔會亂。這塊時候可以考慮使用nignx_lua來寫一些擴展模塊,。

  5年SaaS運營總結(jié)的5點經(jīng)驗:

  不是“高科技公司”而是“讓顧客感覺真棒”的公司

  顧客不會因為你有精湛的編程水平,、會做Nginx配置等而掏腰包購買產(chǎn)品,但如果你賣給他們的產(chǎn)品能為他們節(jié)約時間,、金錢,、精力,那么他們將會很樂意支付購買,。你的工作就是為了讓客戶的生活和工作變得令人刮目相看,所以對于產(chǎn)品和業(yè)務(wù)的每一個決定都應(yīng)該緊緊圍繞這一目的,。

  不要承諾特性的發(fā)布時間

  在這一點上請相信我,,不要對產(chǎn)品某項特性的發(fā)布承諾發(fā)布時間。當(dāng)某個特性準備好時,,人們會問你所有的時間表,。回答這種問題最好的途徑就是(如果你準備回答的話):“在未來的版本里我們會考慮這樣的功能特性,,但我目前給不出一個確切的時間點什么時候準備好,。”也就是說對消費者要誠實——如果你自己都不知道什么時候“Ready”。

  在能幫你保持高效的方面投資

  這方面指的是能明顯看出收效的一些投資,,比如一臺好用的筆記本電腦(經(jīng)常升級),、舒適的桌子和座椅等,以及其他一些看起來似乎沒那么明顯能帶來高效的投資,,包括一些軟件,,能讓你集中精力開發(fā)應(yīng)用程序功能而不是單純地只做服務(wù)器配置。

  切勿工作過載

  讓自己過載工作其實是業(yè)務(wù)向失敗邁出的第一步,,因為滿負荷的時候你不會有好的狀態(tài),。比如晚上就堅決不要去查收郵件,如果你的團隊只有1~2人,,那也不需要提供7×24的支持,,客戶會理解的,。你開公司不是為了力竭而亡的,你的健康,、家庭和社會生活比起5分鐘的支持響應(yīng),、100%的運行正常應(yīng)該更重要。

  不要相信炒作

  人們很容易變得興奮,,也很擅長對新技術(shù),、架構(gòu)、編程語言以及配置方式進行天花亂墜的宣傳,,可能會告訴你該做什么,、怎么計劃,其實你應(yīng)該擴展到百萬用戶來評估,。事實是應(yīng)該務(wù)實些——你的目標是經(jīng)營業(yè)務(wù),,用相對成熟的技術(shù)。而且你需要做必要的優(yōu)化,,這包括編寫少的代碼,、更廣的測試覆蓋以及集中精力做事,才能做好企業(yè)的長期盈利,。
申請入駐 在線客服 熱線電話400-0019-028 常見問題
置頂