互聯網技術札記

從一個IT菜鳥到一個互聯網老菜鳥,從一個國內電商巨頭到一個創業型公司。技術也由微軟陣營轉型到JAVA陣營。算不上最佳實踐,也是從中也有一些認識及感悟,但願各路兄弟一塊兒探討學習。html

如下對當下互聯網一些流行的技術及解決方案所需的框架作一個總結吧,主要都是一些JAVA及開源方面的技術框架組件。緩存

這裏廢話一段題外話,我的沒有任何的技術偏見,只是由於時下微軟陣營被邊緣化,至於爲啥我以爲不是語言的問題,仍是由於openSource社區或者技術版權免費問題吧(微軟最近固然也有很大的動做,仍是很看好微軟的^_^)。服務器

應用層相關:框架

表現層通常仍是MVC框架 SpringMVC or Struts2 或許還有Struts 這裏LZ 只稍稍改過一點Struts的東西,光配置文件跟SpringMVC 比仍是好麻煩的說。異步

應用層通常仍是Mybatis(IBatis)+Spring。分佈式

持久層這裏會說到關係型及非關係型,關係型;關係型通常仍是以MySQL爲主導,LZ也用過SQL SERVER,有錢的公司還會用Oracle,固然三者越日後價格越高費心越少。學習

非關係型:大數據大字段考慮使用MongoDB,Redis等;大數據

緩存:除了富客戶端的本地緩存,固然不得不說還有各類開源緩存中間件,Redis,Memcached還有淘寶的Tair。spa

異步:說到異步解決方案,確定會想到異步任務的調度,常規的有Quartz 還有就是taobao Schedule ,Quartz的有點方便快捷可是對分佈式支持的不是很好,LZ曾經設法經過官網上的方式及網友們的推薦方案去改寫,可是最終發現須要生產的DB腳本里的Tables有不少外鍵,這種表維護也很麻煩,上線DBA確定也不建議,這裏若是介意單點想用分佈式調度的話仍是考慮配合用緩存或者用taobao Schedule 比較好,後續LZ也會分享下分佈式的Solution。設計

這裏還有一個進階技術解決方案:狀態機。也就是工做流的簡化版本,這個通常能夠自行設計,後續LZ考慮分享出當時的一個簡單粗暴的方案。

消息中間件:一個不得不說的神器,就是Active MQ 最成熟最流行普遍,還有就是淘寶的Rocket MQ(Meta Q前身),這個也很不錯,只是相關文檔少了點,Kafka ,RabbitMQ 這些LZ也只是耳聞,具體沒用過。

RPC:時下最出名最牛的也算是Dubbo了,固然我的感受通常中小型不必哈,Dubbo 的文檔也是最最給力的;還有內部服務器之間的調用能夠是Hession ,Restful或者SOAP,由於數據交換的格式不同,Hession也是效率高的,Restful是最實用最方便的,SOAP相比前二者趨於繁瑣累贅。

項目管理固然不得不說下互聯網項目管理,互聯網的項目就一個字:快! 是的,你不快競爭對手快,文檔都是扯淡的,兄弟們有沒有同感 ~~~,因此怎麼樣又快又好,Scrum 敏捷開發也是互聯網裏最流行的,在這LZ推薦一個性價比高趣味性高的方案:看板管理,這個也是LZ比較看好的一種。

以上粗略的說了一些泛泛而談的東西框架,但願後續LZ可以堅持對每個可以衍生分享出來。

相關文章
相關標籤/搜索