2012年應朋友之約參加QCon北京技術大會,主持“優化你的架構設計”主題,成文一篇,大家還有哪些點想在這個主題里聽到,可以直接回復評論,包括希望聽到哪些公司的分享,將勉力滿足。
設計是軟件之源,架構是軟件之本,本主題主要介紹如何進行現代復雜系統的架構設計和優化。
軟件架構是用來描述軟件系統框架的語義,它包含了軟件系統主要的決策信息,包括軟件元素的如何組織,如何實現預期的功能、性能、可靠性和質量等,還包括技術選型,集成性,擴展性,一致性等內容。
隨着技術的發展,架構的含義變得更加豐富起來,遠遠超過早期定義。MDA(模型驅動架構)是一種架構、SOA(面向服務的架構)是一種架構,雲計算平台也是一種架構。到了2012年,架構變得前所未有的復雜,各種技術和應用紛至沓來。除了功能性需求之外,客戶對於安全,性能,大容量,大並發等特性愈發關注,架構設計將以數據為中心、以用戶為中心、以服務為中心形成全新的生態環境。如何處理復雜的業務邏輯?如何處理超大容量和超大並發的需求?這些都是對現代架構師的巨大挑戰!
架構設計演化到今天,有一點沒有改變,那就是架構是基礎設施,可以通過各種方式為該領域的上層建築提供服務。設計需要關注效用和功能,同時也需要關注效率和優雅的實現方式。
同時,也沒有哪個架構是一成不變的,架構與變化相伴而生。沒有一蹴而就的架構設計,架構的演化從架構誕生之日起就開始了,無論是國外的Facebook、Twitter,還是國內的淘寶、微博,他們的架構無時不刻不在調整和優化,一代又一代的架構變遷支撐了他們復雜的業務和容量的不斷增加。
我們試圖回答的問題包括:
1、如何從架構設計層面支持復雜業務邏輯系統的要求?
2、如何設計一個能夠應對超大容量和並發的系統架構?
3、企業應用架構和互聯網應用架構有什么不同?
4、在雲計算和大數據時代,系統架構設計如何演變?
5、大數據勝於好算法,更多的數據總能帶了來更好的應用效果,如何從架構層面管理這些數據?
6、分布式存儲,Hadoop還是NoSql?
7、海量視頻網站如何從應用服務器、視頻技術和存儲技術層面設計自己的系統架構?
8、金融類企業的系統架構設計要求?穩定還是發展?
還有那些問題或領域是您要關注的,請告訴我。