大数据量
1.數(shù)據(jù)層放棄SQL?Server數(shù)據(jù)庫和存儲過程,全部遷移到Linux平臺上的MySQL數(shù)據(jù)庫上;
2.緩存不再依賴.net自身提供的緩存機制,遷移到部署在Linux平臺上的分布式的Redis上;
3.服務之間的調(diào)用,避免使用.net自身專有協(xié)議,改成Restful的HTTP?Web?API調(diào)用;
4.靜態(tài)資源請求,不再讓IIS自己處理,分離到Linux平臺上的nginx去處理;
5.需要讀取的文件系統(tǒng),也改成訪問Linux平臺上的分布式文件系統(tǒng);
6.部署.net代碼的Windows服務器放在LVS后面,用LVS做負載均衡和故障切換; JD?換java的內(nèi)幕是?CTO?是IBM?出來的?喜歡java?看不上.net 關于.net?系統(tǒng)架構的一些問題:
.net編程語言和框架,但是網(wǎng)站整體架構仍然去Windows化,概要說來:
簡單說來,就是單純讓.net做應用層的編程語言和框架,其他都交給Linux平臺的開源解決方案。而.net框架單純做應用層,無論ASP.net?MVC的開發(fā)效率,還是.net?CLR虛擬機的運行效率都非常好,目前我們單臺Windows服務器上跑幾百萬的動態(tài)請求毫無壓力,而且應用層架構是可以橫向擴展的:如果請求負載非常高,只需要添加更多Windows服務器即可。總之,做到了揚長避短。
京東架構
IIS?處理動態(tài)信息就行了
其他的?交給linux上
以后面試拿這去吹牛 這本來才是?iis該做的正事 其實還有很多方法啦,拆分表是需要條件的。
可以啊,如果我設計構架的話,我肯定會從這幾個方面設計
說明:貴博主說的拆發(fā)表只是一個很特殊的表才可以的,在其他的范圍內(nèi)根本不使用,當然大數(shù)據(jù)使用負載均衡或者分布式肯定很好,如果采用一個服務器的話我基本上是按照下面幾個步驟來的
一、數(shù)據(jù)庫結構的設計?
二、查詢的優(yōu)化?
三、算法
四、建立高效的索引?
五、頁面靜態(tài)化技術和負載均衡技術
六、如果是java的話JVM調(diào)優(yōu)
七、緩沖池技術
八、ehcache緩存技術+LRU等淘汰算法 分區(qū)只是Sql利用我們事先定義好的分區(qū)方案,對數(shù)據(jù)進行分區(qū)存儲。對用戶來說是不可見的。我們寫insert,delete,select,update與普通表的操作沒有任何區(qū)別哈!^_^ 哈哈, 作為存儲數(shù)據(jù)的媒介, 可以變通的使用他來存儲一個Data Collection,之前也使用過。當然靈活與變通,在于設計者本身,只有自己才明白去選擇適合自己的那種存儲方式。現(xiàn)在很多orm都支持直接操作sql/以及事物、存儲過程等。比如這個
http://www.cnblogs.com/_popc/archive/2012/12/26/2834726.html
:)
這技術我不知道,算是長見識了!
你看寫博客不僅利人,也利已。 不建議使用多個mdf, 主數(shù)據(jù)庫文件中存儲了其它ndf,ldf,filegroup等信息,如果使用多個mdf,數(shù)據(jù)庫能正常運行,但萬一哪天你要分離附加數(shù)據(jù)庫了,你必須指定真實的主數(shù)據(jù)庫文件,當然你也可以循環(huán)去試那些mdf... sqlserver 的約定是:?
主數(shù)據(jù)文件為.mdf(只有一個主數(shù)據(jù)文件),輔助數(shù)據(jù)文件擴展名為.ndf(可以有多個)
你說一個數(shù)據(jù)庫當然可以有多個MDF文件,嚴格說也沒錯,就比如你的windows操作系統(tǒng)中,把所有的系統(tǒng)的非系統(tǒng)的文件都塞進C盤,當然也木問題,但是為了方便管理,你還是會分出來D盤,E盤,另外就是@周強說的問題,我暫時沒有遇到過,有時間驗證下(我從來不會建立多個mdf文件的)。
另外樓主在說分區(qū)的時候一直強調(diào)文件組和文件,其實沒有必然聯(lián)系,不同的分區(qū)也可以建立在同一個文件組的同一個文件上。 海量數(shù)據(jù)提高效率思路
數(shù)據(jù)庫端:分庫,分區(qū),分表從大到小
應用程序段:群集負載
客戶端:緩存,輕量化設計
一點經(jīng)驗
2.緩存不再依賴.net自身提供的緩存機制,遷移到部署在Linux平臺上的分布式的Redis上;
3.服務之間的調(diào)用,避免使用.net自身專有協(xié)議,改成Restful的HTTP?Web?API調(diào)用;
4.靜態(tài)資源請求,不再讓IIS自己處理,分離到Linux平臺上的nginx去處理;
5.需要讀取的文件系統(tǒng),也改成訪問Linux平臺上的分布式文件系統(tǒng);
6.部署.net代碼的Windows服務器放在LVS后面,用LVS做負載均衡和故障切換; JD?換java的內(nèi)幕是?CTO?是IBM?出來的?喜歡java?看不上.net 關于.net?系統(tǒng)架構的一些問題:
.net編程語言和框架,但是網(wǎng)站整體架構仍然去Windows化,概要說來:
簡單說來,就是單純讓.net做應用層的編程語言和框架,其他都交給Linux平臺的開源解決方案。而.net框架單純做應用層,無論ASP.net?MVC的開發(fā)效率,還是.net?CLR虛擬機的運行效率都非常好,目前我們單臺Windows服務器上跑幾百萬的動態(tài)請求毫無壓力,而且應用層架構是可以橫向擴展的:如果請求負載非常高,只需要添加更多Windows服務器即可。總之,做到了揚長避短。
京東架構
IIS?處理動態(tài)信息就行了
其他的?交給linux上
以后面試拿這去吹牛 這本來才是?iis該做的正事 其實還有很多方法啦,拆分表是需要條件的。
可以啊,如果我設計構架的話,我肯定會從這幾個方面設計
說明:貴博主說的拆發(fā)表只是一個很特殊的表才可以的,在其他的范圍內(nèi)根本不使用,當然大數(shù)據(jù)使用負載均衡或者分布式肯定很好,如果采用一個服務器的話我基本上是按照下面幾個步驟來的
一、數(shù)據(jù)庫結構的設計?
二、查詢的優(yōu)化?
三、算法
四、建立高效的索引?
五、頁面靜態(tài)化技術和負載均衡技術
六、如果是java的話JVM調(diào)優(yōu)
七、緩沖池技術
八、ehcache緩存技術+LRU等淘汰算法 分區(qū)只是Sql利用我們事先定義好的分區(qū)方案,對數(shù)據(jù)進行分區(qū)存儲。對用戶來說是不可見的。我們寫insert,delete,select,update與普通表的操作沒有任何區(qū)別哈!^_^ 哈哈, 作為存儲數(shù)據(jù)的媒介, 可以變通的使用他來存儲一個Data Collection,之前也使用過。當然靈活與變通,在于設計者本身,只有自己才明白去選擇適合自己的那種存儲方式。現(xiàn)在很多orm都支持直接操作sql/以及事物、存儲過程等。比如這個
http://www.cnblogs.com/_popc/archive/2012/12/26/2834726.html
:)
這技術我不知道,算是長見識了!
你看寫博客不僅利人,也利已。 不建議使用多個mdf, 主數(shù)據(jù)庫文件中存儲了其它ndf,ldf,filegroup等信息,如果使用多個mdf,數(shù)據(jù)庫能正常運行,但萬一哪天你要分離附加數(shù)據(jù)庫了,你必須指定真實的主數(shù)據(jù)庫文件,當然你也可以循環(huán)去試那些mdf... sqlserver 的約定是:?
主數(shù)據(jù)文件為.mdf(只有一個主數(shù)據(jù)文件),輔助數(shù)據(jù)文件擴展名為.ndf(可以有多個)
你說一個數(shù)據(jù)庫當然可以有多個MDF文件,嚴格說也沒錯,就比如你的windows操作系統(tǒng)中,把所有的系統(tǒng)的非系統(tǒng)的文件都塞進C盤,當然也木問題,但是為了方便管理,你還是會分出來D盤,E盤,另外就是@周強說的問題,我暫時沒有遇到過,有時間驗證下(我從來不會建立多個mdf文件的)。
另外樓主在說分區(qū)的時候一直強調(diào)文件組和文件,其實沒有必然聯(lián)系,不同的分區(qū)也可以建立在同一個文件組的同一個文件上。 海量數(shù)據(jù)提高效率思路
數(shù)據(jù)庫端:分庫,分區(qū),分表從大到小
應用程序段:群集負載
客戶端:緩存,輕量化設計
一點經(jīng)驗
轉載于:https://www.cnblogs.com/CharlesGrant/p/3650855.html
總結
- 上一篇: 如何在本地搭建svn本地版本库
- 下一篇: Face3D学习笔记(6)3DMM示例源