企业级系统架构设计技术与互联网应用技术结合主题一 大规模并发性能问题探讨...
何謂大規(guī)模并發(fā),不同層面有不同的理解
企業(yè)應(yīng)用(Intranet):千級強(qiáng)并發(fā),萬級弱并發(fā)(在線用戶),十萬級用戶
?
?? ?大型企業(yè)ERP、供應(yīng)鏈,大型企業(yè)HR、辦公OA
互聯(lián)網(wǎng)應(yīng)用(Internet):百萬級強(qiáng)并發(fā),千萬級弱并發(fā)(在線用戶),億級用戶/
門戶網(wǎng)站(新浪、騰訊)
平臺級電子商務(wù)(阿里巴巴、淘寶網(wǎng)、拍拍網(wǎng))
搜索引擎(百度)
電子商務(wù)企業(yè)應(yīng)用(Intranet + Internet):十萬級強(qiáng)并發(fā),百萬級弱并發(fā)(在線用戶),千萬級用戶
B2C電子商務(wù)(京東、凡客、一號店)
垂直型電子商務(wù)(金銀島、攜程)
不同系統(tǒng)間的并發(fā)特點
企業(yè)系統(tǒng)
大量事務(wù)性、實時性訪問
大量的事務(wù)、鎖檢測導(dǎo)致數(shù)據(jù)庫訪問瓶頸
需要數(shù)據(jù)操作的實時更新
大量有狀態(tài)性訪問
數(shù)據(jù)訪問具有較強(qiáng)的操作上下文
數(shù)據(jù)一致性、準(zhǔn)確性的高敏感
數(shù)據(jù)每一次事務(wù)性更新都必須得到充分展現(xiàn),并且確保數(shù)據(jù)訪問的一致性
清晰的業(yè)務(wù)邏輯進(jìn)行并發(fā)劃分
一般來說,企業(yè)系統(tǒng)都可以進(jìn)行明確的業(yè)務(wù)區(qū)分,從而決定系統(tǒng)特點
互聯(lián)網(wǎng)系統(tǒng)
海量非事務(wù)性訪問
極其巨大的數(shù)據(jù)量及數(shù)據(jù)訪問導(dǎo)致IO操作成為瓶頸
模糊的并發(fā)區(qū)分
并發(fā)訪問的用戶中很難通過內(nèi)容進(jìn)行有效分發(fā)
并發(fā)訪問一般具有地域性
數(shù)據(jù)訪問效率的高敏感
用戶對系統(tǒng)的響應(yīng)時間非常敏感,需要在幾秒內(nèi)得到信息反饋
用戶更加在意數(shù)據(jù)的匹配性
電子商務(wù)系統(tǒng)
數(shù)據(jù)實時性的高敏感
價格、信息同步的一致性等
受制于企業(yè)級系統(tǒng)的約束
如支付,受事務(wù)性影響
海量非事務(wù)性訪問+一定規(guī)模事務(wù)性訪問
信息訪問具有互聯(lián)網(wǎng)系統(tǒng)特點、信息操作具有企業(yè)系統(tǒng)特點
如數(shù)據(jù)的搜索查詢、展現(xiàn)具有互聯(lián)網(wǎng)系統(tǒng)特點
如數(shù)據(jù)的操作(支付、結(jié)算)具有企業(yè)系統(tǒng)事務(wù)性特點
什么是性能問題
在可識別的壓力下,系統(tǒng)無法提供服務(wù) (最差的性能問題)
在可識別的壓力下,系統(tǒng)無法按服務(wù)質(zhì)量標(biāo)準(zhǔn)提供服務(wù) (滿足性能標(biāo)準(zhǔn),但是健壯性不足)
在可識別的壓力下,系統(tǒng)無法持續(xù)按服務(wù)質(zhì)量標(biāo)準(zhǔn)提供服務(wù) (系統(tǒng)的可靠性和健壯性)
在超過識別的壓力下,系統(tǒng)無法盡快恢復(fù)
能否有故障轉(zhuǎn)移、故障恢復(fù)、冗余熱備等機(jī)制
在超過識別的壓力下,系統(tǒng)無法柔性伸縮 (系統(tǒng)的可伸縮性)
什么不是性能問題
超過可識別的壓力情況下,系統(tǒng)暫時無法有效提供服務(wù)
性能測量
服務(wù)質(zhì)量
網(wǎng)絡(luò)響應(yīng):網(wǎng)絡(luò)響應(yīng)時間、網(wǎng)絡(luò)吞吐量、網(wǎng)絡(luò)帶寬及帶寬利用率
服務(wù)響應(yīng)時間:包括平均、峰值、標(biāo)準(zhǔn)區(qū)間值
服務(wù)處理質(zhì)量:事務(wù)成功率、單位時間響應(yīng)事務(wù)次數(shù)
服務(wù)端設(shè)備狀態(tài)
CPU:CPU使用率
內(nèi)存:使用內(nèi)存大小
VM:GC次數(shù)(Full GC次數(shù))、堆內(nèi)存、線程數(shù)、鎖和阻塞情況
磁盤IO:磁盤訪問效率、磁盤空間、磁盤IO吞吐量
系統(tǒng)可靠性、健壯性
單節(jié)點處理的訪問量
故障恢復(fù)時間
節(jié)點復(fù)制和節(jié)點擴(kuò)展的難易
?
系統(tǒng)可能的性能瓶頸
網(wǎng)絡(luò)
網(wǎng)絡(luò)帶寬的總體限制
網(wǎng)絡(luò)連接數(shù)的限制(如TCP/IP, 數(shù)據(jù)庫連接等)
服務(wù)器
每個響應(yīng)占用相應(yīng)的資源,導(dǎo)致內(nèi)存成為瓶頸
比如JVM為每個線程分配棧空間,過多棧空間導(dǎo)致內(nèi)存消耗
比如每個HTTP連接在Session存儲內(nèi)容,導(dǎo)致OOME
同時響應(yīng)一定量的并發(fā)操作,導(dǎo)致CPU占用過高
磁盤IO
頻繁訪問數(shù)據(jù)庫,導(dǎo)致數(shù)據(jù)交換IO操作頻繁
頻繁訪問IO文件,導(dǎo)致磁盤IO成為瓶頸
企業(yè)級系統(tǒng)架構(gòu)及技術(shù)特點
架構(gòu)設(shè)計
基于SOA和MDA的架構(gòu)
以服務(wù)為核心單元的 設(shè)計思想,以傳統(tǒng)WS作為服務(wù)發(fā)布
以模塊化為系統(tǒng)構(gòu)建方式,重視應(yīng)用子系統(tǒng)和子模塊的獨立性和可重用性
中央集中式部署架構(gòu)
專業(yè)小型服務(wù)器
一般不會超過5臺部署服務(wù)器,不會多于10個應(yīng)用節(jié)點
熱備和故障恢復(fù)機(jī)制、災(zāi)備系統(tǒng)
關(guān)注流程
工作流技術(shù),尤其是分布式節(jié)點間流程整合
企業(yè)系統(tǒng)間的無縫轉(zhuǎn)移
門戶
跨系統(tǒng),跨節(jié)點間的單點登錄
技術(shù)運用
以商業(yè)性產(chǎn)品為主
追求單節(jié)點穩(wěn)定性
較少需要7*24小時支持
以商業(yè)性關(guān)系數(shù)據(jù)庫為主要存儲
比較嚴(yán)格的事務(wù)性訪問
完全基于數(shù)據(jù)庫事務(wù)
分布式事務(wù)(JTA)
較為復(fù)雜并且功能豐富的用戶界面
用戶具有相對統(tǒng)一的客戶端(比如使用IE瀏覽器)
用戶可以接受適當(dāng)?shù)捻憫?yīng)和延遲
?
互聯(lián)網(wǎng)系統(tǒng)架構(gòu)及技術(shù)特點
架構(gòu)設(shè)計
以界面展現(xiàn)和用戶體驗為主要設(shè)計
大量運用Ajax實現(xiàn)局部提交和局部刷新
以輕量級、伸縮性為架構(gòu)主要考慮
除某些平臺級應(yīng)用外,極少使用服務(wù)擴(kuò)展
使用REST風(fēng)格的WebService或者純粹的處理Json的Web響應(yīng)
數(shù)以百臺甚至上萬臺PC服務(wù)器,多個數(shù)據(jù)中心,站點鏡像
分布式獨立域以及部署域之間定時通信
高性能緩存機(jī)制
雙向頁面緩存
內(nèi)容靜態(tài)化技術(shù)
數(shù)據(jù)緩存
非事務(wù)、非關(guān)系型數(shù)據(jù)庫
全面NoSQL數(shù)據(jù)庫
技術(shù)運用
大量使用開源技術(shù)產(chǎn)品
LAMP: Linux + Apache + MySQL + PHP
Tomcat, Lucene, Memcache
簡單界面開發(fā)技術(shù)
腳本語言,如PHP, Python, Ruby等
對多種瀏覽器的支持
底層高性能處理優(yōu)化
使用C、C++實現(xiàn)底層通信和IO優(yōu)化
電子商務(wù)系統(tǒng)架構(gòu)及技術(shù)特點
架構(gòu)設(shè)計
關(guān)注數(shù)據(jù)的糅合(Mashup)
關(guān)系數(shù)據(jù)庫與高性能NoSQL數(shù)據(jù)庫結(jié)合
不固定的架構(gòu)設(shè)計思路
可能偏互聯(lián)網(wǎng)方向,也可能偏企業(yè)系統(tǒng)方向
分布式部署
事務(wù)緩存機(jī)制
事務(wù)遷移、事務(wù)恢復(fù)、事務(wù)批量處理
較為嚴(yán)格的安全機(jī)制
部分功能使用HTTPS及數(shù)字證書
與企業(yè)系統(tǒng)的對接交互
與銀行、支付平臺的對接
與企業(yè)訂單系統(tǒng)、進(jìn)銷存系統(tǒng)、物流系統(tǒng)的對接
技術(shù)運用
有時效的緩存機(jī)制
確保數(shù)據(jù)實時性與性能的平衡
大量數(shù)據(jù)挖掘和分析運用
相關(guān)性分析
定向推薦
部分運用商業(yè)中間件技術(shù)產(chǎn)品
應(yīng)用服務(wù)器
業(yè)務(wù)流程管理
大量的開源技術(shù)運用
Java相關(guān)開源技術(shù)比較常見
更多內(nèi)容請關(guān)注微信公眾號:it_haha
轉(zhuǎn)載于:https://blog.51cto.com/doujh/1812497
總結(jié)
以上是生活随笔為你收集整理的企业级系统架构设计技术与互联网应用技术结合主题一 大规模并发性能问题探讨...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# 结构体 枚举类型
- 下一篇: 如何在Mac上安装win10正版系统