多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > 互聯(lián)網(wǎng) > 專(zhuān)訪(fǎng)趙桂華:.NET也有春天及高性能網(wǎng)站架構(gòu)實(shí)踐

專(zhuān)訪(fǎng)趙桂華:.NET也有春天及高性能網(wǎng)站架構(gòu)實(shí)踐

來(lái)源:程序員人生   發(fā)布時(shí)間:2014-09-24 18:07:05 閱讀次數(shù):2222次

在本次專(zhuān)訪(fǎng)之前,筆者一直都對(duì).NET這個(gè)平臺(tái)有所偏見(jiàn),或者說(shuō)是看不到.NET的優(yōu)勢(shì),對(duì)Java Web、PHP、Ruby等更加看好,而之后SSH、RoR、LAMP等的流行也讓筆者對(duì)這個(gè)觀點(diǎn)更加堅(jiān)信。然而在瀏覽完趙桂華的個(gè)人Blog后,筆者逐漸認(rèn)識(shí)到對(duì).NET這種不公平的看待,或許正如趙桂華所說(shuō),打造高性能網(wǎng)站架構(gòu)是一個(gè)系統(tǒng)的工程,并非某個(gè)平臺(tái)或某種語(yǔ)言能完成,所以高性能通常與編程語(yǔ)言無(wú)關(guān)。同時(shí),.NET被看輕的一部分原因還來(lái)自Visual Studio開(kāi)發(fā)環(huán)境的強(qiáng)大。


博主趙桂華:2005年畢業(yè)于武漢工程大學(xué)電子信息工程專(zhuān)業(yè)。大學(xué)期間就對(duì)軟件產(chǎn)生濃厚的興趣,利用課余時(shí)間自學(xué)了計(jì)算機(jī)專(zhuān)業(yè)全部專(zhuān)業(yè)課程以及VB、VC、Java、數(shù)字圖像處理等編程語(yǔ)言和技術(shù)。畢業(yè)后一直從事.NET相關(guān)技術(shù)的研究與開(kāi)發(fā)工作,先后就職于多家軟件以及互聯(lián)網(wǎng)公司,擁有豐富的軟件開(kāi)發(fā)和項(xiàng)目管理經(jīng)驗(yàn)。致力于高性能網(wǎng)站架構(gòu)、提高軟件開(kāi)發(fā)質(zhì)量與效率等領(lǐng)域的研究。個(gè)人為推動(dòng)開(kāi)源事業(yè)貢獻(xiàn)著自己的力量,目前已在Github上開(kāi)源了一套輕量級(jí)數(shù)據(jù)持久層組件 restful.data,該組件能支持多種數(shù)據(jù)庫(kù)和Linq查詢(xún),具有高性能、零配置、代碼優(yōu)雅、易上手等特性。


免費(fèi)訂閱“CSDN云計(jì)算”微信公眾號(hào),實(shí)時(shí)掌握第一手云中消息!

CSDN作為國(guó)內(nèi)最專(zhuān)業(yè)的云計(jì)算服務(wù)平臺(tái),提供云計(jì)算、大數(shù)據(jù)、虛擬化、數(shù)據(jù)中心、OpenStack、CloudStack、Hadoop、Spark、機(jī)器學(xué)習(xí)、智能算法等相關(guān)云計(jì)算觀點(diǎn),云計(jì)算技術(shù),云計(jì)算平臺(tái),云計(jì)算實(shí)踐,云計(jì)算產(chǎn)業(yè)資訊等服務(wù)。


以下為采訪(fǎng)實(shí)錄

CSDN:能否介紹一下目前您正在從事哪方面研究及工作內(nèi)容?

趙桂華:我是個(gè)自由職業(yè)者,有更多的時(shí)間來(lái)思考產(chǎn)品或項(xiàng)目之外的東西,目前我主要在做下面幾件事情:

1. 高性能網(wǎng)站架構(gòu),主要研究一些開(kāi)源的緩存、消息隊(duì)列、代理組件和其他一些工具。

2. 規(guī)范開(kāi)發(fā)流程,改善代碼質(zhì)量,提高開(kāi)發(fā)效率。

3. 基于社區(qū)針對(duì)小范圍人群的O2O電子商務(wù)服務(wù)平臺(tái)。

4. restful.data開(kāi)源數(shù)據(jù)持久層組件的持續(xù)更新與優(yōu)化。

CSDN:.NET給大家留下的印象多半是易于上手,對(duì)于高性能打造上您怎么看?在這個(gè)方面,對(duì)比J2EE、Ruby、PHP等如何?

趙桂華:.NET之所以易于上手,是因?yàn)槲④洖殚_(kāi)發(fā)者提供了非常強(qiáng)大的開(kāi)發(fā)工具,你幾乎可以在Visual Studio上搞定一切。但對(duì)于.NET本身而言,它也是個(gè)強(qiáng)大的開(kāi)發(fā)平臺(tái),其他語(yǔ)言能做的,.NET也能做,它們不能做的,.NET也可以做。不管是從易用性,還是程序執(zhí)行效率上都是非常卓越的。.NET給人的印象只是容易上手,原因主要是,搭載.NET的運(yùn)行環(huán)境軟硬件成本高,導(dǎo)致很多互聯(lián)網(wǎng)平臺(tái)從最初的.NET轉(zhuǎn)向別的開(kāi)發(fā)語(yǔ)言,很多人都只是使用.NET來(lái)開(kāi)發(fā)企業(yè)內(nèi)部應(yīng)用,而他們對(duì)性能的要求并不是那么高,只是運(yùn)用了一些簡(jiǎn)單的常見(jiàn)技術(shù),就能完成項(xiàng)目的要求,很難展現(xiàn).NET平臺(tái)的那些優(yōu)秀特性,所以給人一種.NET只能走低端路線(xiàn)的印象。

打造高性能網(wǎng)站架構(gòu)是一個(gè)系統(tǒng)的工程,并非某個(gè)平臺(tái)或某種語(yǔ)言能完成,所以高性能通常與編程語(yǔ)言無(wú)關(guān)。Mono框架的出現(xiàn),也為.NET跨平臺(tái)帶來(lái)了轉(zhuǎn)機(jī),微軟也在積極的推動(dòng)這個(gè)項(xiàng)目的發(fā)展,所以在打造高性能網(wǎng)站架構(gòu)的工具和手段上,.NET作為一個(gè)開(kāi)發(fā)平臺(tái)并不是一個(gè)人在戰(zhàn)斗,我們完全可以把Java的那一套照搬到.NET上。真要說(shuō)哪個(gè)平臺(tái)更好,我倒覺(jué)得不能蓋棺定論,每種語(yǔ)言和平臺(tái)都有其自身的特點(diǎn)和優(yōu)勢(shì),我們更多的是要考慮怎么將他們整合,讓他們更好的為我們服務(wù)。當(dāng)然,由于一些歷史原因,J2EE、PHP等可能在開(kāi)源方面做的更好一些。

CSDN:對(duì)于高性能網(wǎng)站打造,你們每個(gè)部分通常使用了哪些開(kāi)源組件?

趙桂華:

  • 數(shù)據(jù)緩存方面,可選用Redis和Memcached來(lái)構(gòu)建集群,降低數(shù)據(jù)庫(kù)服務(wù)器的壓力
  • 消息隊(duì)列在某些場(chǎng)景下是非常有用的,如秒殺,搶購(gòu)等,可以使用Redis、RabbitMQ等開(kāi)源組件
  • 當(dāng)某些數(shù)據(jù)庫(kù)或者數(shù)據(jù)表數(shù)據(jù)量非常大的時(shí)候,可以對(duì)他們進(jìn)行水平和垂直切割,需要用到數(shù)據(jù)庫(kù)代理,如MySQL Proxy,Amoeba,Cobar等
  • 負(fù)載均衡也有很多成熟的方案,如lvs,Nginx,搭配KeepAlive以確保在發(fā)生單點(diǎn)故障時(shí)能自動(dòng)切換

CSDN:您認(rèn)為目前高性能網(wǎng)站架構(gòu)的難點(diǎn)在哪里?需要避免哪些坑?順便分享一些高性能網(wǎng)站打造的經(jīng)驗(yàn)?

趙桂華:第一點(diǎn),真實(shí)場(chǎng)景不易模擬和重現(xiàn),我們很難在開(kāi)發(fā)階段發(fā)現(xiàn)架構(gòu)的問(wèn)題和不足,不便于我們測(cè)試。

第二點(diǎn),可選的組件和工具很多,這需要我們非常熟悉組件和工具的特性,而研究這些東西又是非?;ㄙM(fèi)時(shí)間和精力的。

第三點(diǎn),理想和現(xiàn)實(shí)的碰撞,沒(méi)有一個(gè)完美的架構(gòu),架構(gòu)是要結(jié)合實(shí)際情況的,還需要考慮投入的成本,而成本也有可能制約架構(gòu)的性能。

第四點(diǎn),牛頓定律只適用于低速運(yùn)行的物體,常規(guī)的思維方式和開(kāi)發(fā)習(xí)慣可能在高并發(fā)大數(shù)據(jù)的網(wǎng)站上不適合了,所以放棄一些傳統(tǒng)的設(shè)計(jì)理念也是擺在我們面前的一個(gè)重大難題。

設(shè)計(jì)高性能網(wǎng)站架構(gòu),首先跳過(guò)過(guò)度設(shè)計(jì)這個(gè)坑,要結(jié)合實(shí)際情況,考慮投入的成本和人力資源,選擇合適的方式,搭建合適的架構(gòu);技術(shù)不是完美的,不要指望技術(shù)能幫你解決所有的問(wèn)題,要在行與不行之間做出更好的抉擇,不要一開(kāi)始就進(jìn)行假設(shè),為了實(shí)現(xiàn)一個(gè)毫無(wú)意義的目標(biāo)而投入過(guò)多的精力。對(duì)于打造高性能網(wǎng)站架構(gòu),我也只能算是個(gè)初學(xué)者,但其中心思想主要有四點(diǎn):

  • 將壓力分散到不同的角色
  • 將任務(wù)分配給多個(gè)參與者
  • 盡可能讓靠前的角色承受更多的壓力
  • 保證其可靠性和穩(wěn)定性

具體到一些技術(shù),請(qǐng)關(guān)注我的博客,我會(huì)持續(xù)的更新。

CSDN:作為緩存服務(wù)器,Memcached已在LAMP等環(huán)境中得到了驗(yàn)證,那么與之對(duì)比,Redis又有什么優(yōu)勢(shì)?

趙桂華:我們可以從下面幾個(gè)方面來(lái)比較這兩者之間的區(qū)別:

  • 風(fēng)格:Memcached只是個(gè)簡(jiǎn)單的Key-Value存儲(chǔ)系統(tǒng),它沒(méi)有備份和持久化的功能,而Redis更像是一個(gè)NoSQL數(shù)據(jù)庫(kù)系統(tǒng)。
  • 功能:Redis提供了一些Memcached沒(méi)有的功能,它支持的數(shù)據(jù)類(lèi)型更加豐富,支持事務(wù),支持master-slave,支持集群。
  • 數(shù)據(jù)一致性:在多線(xiàn)程環(huán)境下,Memcached在這一點(diǎn)上要比Redis做的好,但也帶來(lái)了性能上的損耗。
  • 內(nèi)存管理:Memcached的內(nèi)存利用率要比Redis高。
  • 性能:因?yàn)镸emcached只是簡(jiǎn)單的存儲(chǔ)Key-Value,在緩存數(shù)據(jù)很大時(shí),性能要優(yōu)于Redis,但在單核應(yīng)用上存儲(chǔ)小于100K的數(shù)據(jù)時(shí),Redis性能要比Memcached高。
  • 網(wǎng)絡(luò)IO:由于Redis支持更多的數(shù)據(jù)結(jié)構(gòu),所以能有效的減少網(wǎng)絡(luò)IO的次數(shù)和數(shù)據(jù)體積,而 Memcached在存儲(chǔ)復(fù)雜數(shù)據(jù)時(shí)稍顯遜色。

所以,我們無(wú)法單純的得出誰(shuí)優(yōu)誰(shuí)劣的結(jié)論,各有利弊,需要根據(jù)不同的應(yīng)用場(chǎng)景來(lái)選擇它們,如果只是單純緩存一些數(shù)據(jù),可以選擇Memcached,比如session數(shù)據(jù),如果我們希望數(shù)據(jù)能被持久化,那無(wú)疑只能選擇Redis,例如統(tǒng)計(jì)當(dāng)前的訪(fǎng)問(wèn)量、在線(xiàn)用戶(hù)數(shù)等。

CSDN:您是restful.data開(kāi)源輕量級(jí)數(shù)據(jù)庫(kù)持久層組件的創(chuàng)始人,您怎么看待開(kāi)源這個(gè)運(yùn)動(dòng)?如何才能更好的參與進(jìn)一個(gè)開(kāi)源項(xiàng)目?

趙桂華:古人云,授人與魚(yú)不如授人與漁,我認(rèn)為開(kāi)源更像是一種慈善行為,與其授予金錢(qián)和物資,還不如給他們提供一些的富有創(chuàng)造力的工具,讓他們可以利用這些工具創(chuàng)造出更多更好的軟件和工具來(lái)豐富我們的生活,這也是一種社會(huì)價(jià)值的體現(xiàn)。我們?cè)谑褂瞄_(kāi)源的同時(shí),也要學(xué)會(huì)為開(kāi)源奉獻(xiàn)自己應(yīng)有的力量,更重要的是要尊重那些默默為我們做出貢獻(xiàn)的人們。

想要參與一個(gè)開(kāi)源項(xiàng)目,首先自身應(yīng)該對(duì)開(kāi)源是感興趣的,你需要有足夠的動(dòng)力來(lái)驅(qū)動(dòng)你參與這個(gè)項(xiàng)目,還需要拋棄一些世俗的觀念,你可以懷揣著夢(mèng)想來(lái)做這件事情,但你不能指望開(kāi)源能為你帶來(lái)名和利。你還需要保證有足夠的時(shí)間和精力來(lái)參與其中,以確保項(xiàng)目能如期進(jìn)行。持之以恒的毅力也是不可或缺的,堅(jiān)持不懈的深入研究,才能讓項(xiàng)目達(dá)到預(yù)期的目標(biāo)。

CSDN:restful.data開(kāi)源項(xiàng)目當(dāng)下有多少人參與?您開(kāi)發(fā)這個(gè)項(xiàng)目的初衷是什么?目標(biāo)是什么?

趙桂華:目前我創(chuàng)建的項(xiàng)目群已將近50人,主動(dòng)參與的人并不多,我希望有更多的人能參與進(jìn)來(lái)。

之所以把這個(gè)項(xiàng)目開(kāi)源出來(lái),是因?yàn)檫@個(gè)項(xiàng)目是我多年以來(lái)一直思考的結(jié)果,我希望分享給大家,讓更多的人學(xué)習(xí)和參與,并提出更多有建設(shè)性的意見(jiàn)和建議,共同推進(jìn)項(xiàng)目的發(fā)展。另一個(gè)原因是我不想讓我的成果變成某個(gè)企業(yè)獨(dú)享的東西,我希望有更多的人使用它,完善它。

我對(duì)restful.data并沒(méi)有設(shè)定什么目標(biāo),只想讓開(kāi)發(fā)者們?cè)贠RM框架上能有更多的選擇,讓更多的人認(rèn)識(shí)它,了解它,學(xué)習(xí)它。

CSDN:在restful.data開(kāi)發(fā)過(guò)程中,您有什么收獲?

趙桂華:當(dāng)你設(shè)定一個(gè)目標(biāo),認(rèn)真的去完成它的時(shí)候,當(dāng)你遇到一個(gè)又一個(gè)的山峰,你又不得不去翻越它的時(shí)候,你會(huì)發(fā)現(xiàn),你收獲的不僅僅是短暫的喜悅,更多的是人生的感悟,你會(huì)明白,沒(méi)有困難是不可逾越的,你只需要一步一步的堅(jiān)持前行,當(dāng)你站在另一個(gè)山頭

生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線(xiàn)----------------------------
分享到:
------分隔線(xiàn)----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 欧美日韩不卡码一区二区三区 | 久久久久国产精品免费免费 | 国产九九免费视频网站 | 爆操网站| 亚洲第一国产 | 亚洲h视频在线观看 | 九色欧美| 最近的最新的中文字幕视频 | 波多野结衣中文字 | 国产亚洲美女精品久久久久 | 亚洲欧美另类色妞网站 | 日本不卡视频一区二区 | 色婷婷久久综合中文久久蜜桃 | 激情网站视频 | 国产一级做a爱免费视频 | 日本亚洲成高清一区二区三区 | 国产一区二区三区在线观看视频 | 波多野结衣一区 | 日韩欧美h | 国产福利一区在线 | 亚洲视频网址 | 欧美激情精品久久久久久久 | 自由成熟的性色视频免费观看 | 动漫精品成人免费网站 | 视频国产一区 | 一二三四在线播放免费视频中国 | 精品国产一区二区三区不卡在线 | 精品国产91久久久久久久 | 久久精品综合一区二区三区 | 全国精品影院 | 动漫美女毛片 | xxxxx免费 | 黄色网址免费观看 | 嫩草影院在线观看未满十八 | 国产成人免费永久播放视频平台 | 欧美精品v国产精品v日韩精品 | 麻豆精品不卡国产免费看 | 一区二区福利视频 | 国产aaa免费视频国产 | 亚洲黄网站wwwwww | 国产精品视频久久 |