# re: SpringSide開發實戰(八):不是結局的結局,談談程序員的境界 回復 更多評論
2007-03-29 01:19 by
文章寫得確實不錯:)
哪天我也有你的心態境遇就好,繼續努力!
京山游俠,希望以后你多寫點在實際項目中遇到類似這些性能問題的解決方法:)
不過我覺得你的這篇文章和SS好象很離題吧?難道是我語文沒學好
# re: SpringSide開發實戰(八):不是結局的結局,談談程序員的境界 回復 更多評論
2007-03-29 03:17 by
您的這篇文章要比其他技術性文章要優秀很多,也讓我學到了不少東西。
對各類框架的整合,應用,我已經膩了,感覺自己像一個‘裝配工’。
因此現在要么學習封裝的最好的框架--Grails,設計模式等High level的東西,要么就鉆研數據結構,算法,編譯原理等最基礎的東西。
您覺得我走這兩個極端如何,希望得到您的忠告,謝謝 :)
# re: SpringSide開發實戰(八):不是結局的結局,談談程序員的境界 回復 更多評論
2007-03-29 07:33 by
IIS不能集群,Apache可以?而且Web服務器沒有集群的必要吧,
而且天涯那更像是用DNS做LB的方式,不是集群。LB的話IIS當然可以了。
可伸縮性在應用層上用SNA才是最關鍵的,用這種架構別說IIS,就是用Ruby腳本寫的web server都可以實現高可伸縮性。
dudu只有一臺服務器是估計因為現在資金還不夠充裕,想想天涯做了多少 年了啊。
# re: SpringSide開發實戰(八):不是結局的結局,談談程序員的境界 回復 更多評論
2007-03-29 09:10 by
作者關于集群的描述我比較感興趣,不過我覺得從應用的角度上不妨越簡單越好。比如說作者可以考慮使用Apache作為反向代理的方式,將負載均衡到多臺WEB服務器上,再結合動態、靜態的Cache技術,我覺得這個問題會變得簡單很多。利用Apache等提供的緩存技術,我感覺會比你自己來實現“動態轉靜態”更有意義。
過多的在應用層次考慮一些低層次的功能,最大的缺點是把應用本身搞得很復雜,難以維護,而如果放在其下的層次來考慮,我覺得可以很好的實現這二者的平衡:既簡單又高效。當然,從應用的設計上來說,不是說不需要考慮底層技術,只是,現在我們只要知道我們的應用設計是可以跟這些底層(如反向代理、Cache)等相匹配、相合作的,就可以了。
# re: SpringSide開發實戰(八):不是結局的結局,談談程序員的境界 回復 更多評論
2007-03-29 09:24 by
如果作者有看過《Expert One on one J2EE Development Without EJB》應該知道,J2EE的Cluster的性能不一定是最好的。
Microsoft同樣有Load Balance的軟件。
# re: SpringSide開發實戰(八):不是結局的結局,談談程序員的境界 回復 更多評論
2007-03-29 10:04 by
也許作者說的是理想情況下, 不需要考慮吃飯, 出于研究/自學狀態下的心態.
絕大多數程序員吧, 都是為了吃飯而工作. 很多時候用戶需要的是一個 IF-ELSE 的邏輯符合他的需要, 這個時候再多的框架也只是個殼, 而且這些框架也絲毫不能減少編寫 if-else 的代碼. 我不覺得框架整合的越多越牛, 而是應該進行分工, 不同的人專著于自己最擅長的領域, 大家分工合作. 換句話說只要能如期完成項目或者需求, 到底是什么技術用戶是不在意的.
軟件業是服務業, 而國內的項目大多都是應用程序, 業務流程, 這時候這些XX開源框架很多時候都幫不了太多的忙.
至于架構的方面, 只能說做新項目之前多做些設計, 擴展等方面的工作, 能否集群也只是一部分, 采用哪些框架要根據實際情況討論, 還得考慮萬一碰到框架 Bug 的時候怎么辦(記住開源項目可不是帶免費技術支持的). 實際的情況往往是在維護老項目, 架構已不可再改, 推倒重做風險更大, 老板也不會同意.
個人覺得吧, 好好工作, 扎實掌握基礎知識, 對于項目所需知識則是按需學習, 早日根據自己的愛好, 實際情況進行定位和規劃. 畢竟精力有限, 人人都成為精通XXX流行框架又是架構師的概率實在是太低. 基礎掌握牢固的話, 再看框架很多時候都會感到似曾相識.
PS: 我也不覺得 SpringSide 就是敏捷開發, 最佳實踐, 說最佳之前請三思. PetStore 不也是經典嘛, 現在還不是被批判的體無完膚.
# re: SpringSide開發實戰(八):不是結局的結局,談談程序員的境界 回復 更多評論
2007-03-29 11:31 by
@蕭木
那你寫篇來看看,說這句話之前,想想你自己能寫出什么東西,如果你有,請在你這句話下面把 鏈接 貼出來,讓大家也評評,如果確實好,那么沒人會說什么,如果沒有一絲對大家有幫助的話,那你這句話是不負責任的~~ ,
# re: SpringSide開發實戰(八):不是結局的結局,談談程序員的境界 回復 更多評論
2007-03-29 13:27 by
作者只寫了集群的一部分,我覺得架構設計應該包含更廣泛的內容,我覺得架構師應該從更高的高度去理解項目需求,不是為技術而技術,當然,這一切都必須以扎實的基本功為基礎
# re: SpringSide開發實戰(八):不是結局的結局,談談程序員的境界 回復 更多評論
2007-03-29 17:26 by
clust可以在操作系統的層次上實現,iis完全可以集群化。
你所說的集群是load balance,可以做在網關或者dns上
# re: SpringSide開發實戰(八):不是結局的結局,談談程序員的境界[未登錄] 回復 更多評論
2007-03-29 18:48 by
其實每個程序員不一定都有架構師的職位,但都需要有架構師的思想,可以說沒有架構師思想的程序員不是好的程序員。
從程序員到架構師只是一個從量變到質便的過程,沒有在編程階段磨練過,嘗試過各種語言,各種工具,各種方法的架構師也不會是一個好的架構師
LZ 樸實的學習精神讓人敬佩
# re: SpringSide開發實戰(八):不是結局的結局,談談程序員的境界 回復 更多評論
2007-03-29 20:43 by
@yeshucheng
就是因為越來越離題,所以決定結束這個系列
# re: SpringSide開發實戰(八):不是結局的結局,談談程序員的境界 回復 更多評論
2007-03-29 20:46 by
@山風小子
我也喜歡數據結構、算法、編譯原理
我也討厭當裝配工
看來我們兩個有很多共同之處
# re: SpringSide開發實戰(八):不是結局的結局,談談程序員的境界 回復 更多評論
2007-03-29 20:52 by
剛到msdn去看了下關于體系結構方面的東西,看了下MSA EDC構建指南。感覺我的確是井底之蛙。
# re: SpringSide開發實戰(八):不是結局的結局,談談程序員的境界 回復 更多評論
2007-03-31 10:57 by
@wangzx
我覺得應用層還是應該考慮一些底層的東西。myspace.com現在有1.2億注冊用戶,每個月訪問量達到400億,三年時間中已經對網站進行了5次重寫,最后就是在應用層采用的水平分割策略。
Apache的緩存我也應該去學習學習,謝謝你的指點。
# re: SpringSide開發實戰(八):不是結局的結局,談談程序員的境界 回復 更多評論
2007-03-31 17:46 by
@Max
《Expert One on one J2EE Development Without EJB》中并沒有說J2EE的Cluster性能不好。
在“性能和可伸縮性”這一節,作者對怎樣設計具有高性能和高可伸縮性的程序進行了探討,其大致意思基本如下:
應用于服務器集群的程序,其實現方式基本上可以分為兩種,一種是基于分布式對象的,一種是基于部署的。什么是基于分布式對象呢?就是傳統的EJB部署方式,不同的業務對象分布于集群中不同的服務器上,通過遠程調用來分擔服務器負載;這種方式是被作者所不推薦的,理由是遠程調用太浪費時間,這也正是作者寫Without Ejb的本意。什么是基于部署的呢?就是在集群中的每一臺服務器上都部署有該程序的完整版本,所有的業務對象都在本機上可以訪問。
此外,作者還探討了狀態管理,性能最高的就是作者所說的農場模式,也就是說每一臺服務器都可以當作別的服務器不存在,他們之間不需要進行Session狀態復制等等。如果要進行Session狀態的復制,必然會對集群的性能造成影響,n臺服務器的性能不可能達到1臺服務器的n倍。
對于《Expert One on one J2EE Development Without EJB》這樣的好書,確實應該反復閱讀。
# re: SpringSide開發實戰(八):不是結局的結局,談談程序員的境界 回復 更多評論
2007-08-09 13:22 by
nslookup出來只有一個ip并不一定能說明它就沒做負載均衡處理。難說你得到的這個ip是前置的負載均衡交換機的ip,realserver都躲在其內部來著。
nslookup出來多個ip,也許他只是用了最簡單的dns輪循的負載均衡處理,也有可能是做了gslb。
# re: SpringSide開發實戰(八):不是結局的結局,談談程序員的境界 回復 更多評論
2008-08-13 08:23 by
文章舊了,希望可以更新到springside3.0
# re: SpringSide開發實戰(八):不是結局的結局,談談程序員的境界 回復 更多評論
2009-03-25 23:58 by
寫的不錯,有同感
記得老師曾說過 “程序員像作家,寫代碼就像在寫作”,
好的架構師就如同金庸等名家,寫出的代碼像是藝術品 如spring hibernate的作者。 而普通的程序員(這里指為了生計,在極短時間內copy,修改代碼,來完成工作任務) 可能只是為了完成每天的工作而已,只是為那點錢。就像某些記者。 雖然我也很想寫出優雅的代碼,但領導不會理解你的做法,只是覺得你效率低。
未來 我一定會“寫”屬于我自己風格的真正好作品。