隨筆——web的深入學習方向

開始階段


學習javaweb 從開始的javaSE->javaEE->框架然後就宕機了。一直坐着沒意思的CRUD。

這時候開始利用反射IO寫點自動生成工具。

然後設計數據庫,一對一關係,多對多關係,數據的類型選擇。研究業務設計。發現其實你設計那麼多隻是增加自己的工作量。

1.全用varchar是不是也行

2.一對一用用都行

3.一對多是不是可以,查詢兩次而不連接查詢

4.字段名稱何必設備c1,c2,c3,c4

其實自己所做的項目太小了,隨便你怎麼寫就那麼幾個人訪問。以上的數據庫設計是爲了以後的水平分割,垂直分割,數據安全性,數據健壯性。

安全性就是你的數據被別人盜走了,他什麼都看不懂,關鍵字段全是md5加密。選擇字段全是1234,字段名都是c1,c2,c3什麼都看不懂。

垂直分割一對一。

水平分割,什麼表分割啥的。

數據庫階段


數據庫這研究了一陣,發現還有什麼nosql數據庫,什麼hadoop,什麼spark 啥的。

nosql 其實就是一個列數據庫,鍵值數據庫,列是可分割的。

hadoop大數據什麼的。都是解決大的數據量怎麼實時高效的存儲查詢。(還是crud)但是要求效率。看別人說:hadoop=mapReduce+Hbase+HDFS

這部分,看了很多其實最主要的就是集羣。也就是並行。說白了,就是你一個人幹不了,多個人幹。每個人相當於一個服務器(電腦)。

高併發也在這部分:這裏的高併發不是事務的安全,是訪問量導致宕機的問題。我們解決的原理還是那個——分

這裏說一個比喻:

人訪問服務就像一堆車進一個站口。車多了,自然堵車,解決辦法也就那麼幾個。有一個交通指揮港,告訴你那那那車多請繞行那那那。這個指揮港就

負載均衡。也可說是路由。然後你就走別的地方了,也就是服務器。其實還有一種辦法也就你的車變小了。大卡車變成了自行車,過了交通擁擠的地方再變成大 卡車。就也就是數據壓縮。以上這兩辦法都是應對瓶頸問題,要是所有路全賭的那就的擴建了,也就是加大集羣,加大硬件。

還有就是數據庫的高併發,這裏邊就分割爲讀寫分割。數據庫分割,水平分割什麼的。

看完這些發現,我還的學oracle的原理,什麼塊什麼怎麼各儲存什麼的。其實還是做查詢優化。

查詢優化有很多,主要就是索引。然後就是緩存。再就是不同數據庫的namespace。node優化。索引一般是數據庫都有的,緩存有很多,比如ibatis,hibernate等。

不知不覺之中我已經從一個java程序員跑到優化這來了。

優化階段


優化:

1.設計優化 (設計模式)  2.java代碼優化    3.jvm優化  4.數據庫優化  5.操作系統優化

然後開源碼,瞭解原理,解決問題。學習框架的設計模式,設計自己產品。

優化之路真是漫長而沒有頭,這些天看一些比人的文章終於明白爲什麼阿里找java是做中間件了。

他們所說的中間件,是類似webService的東西。其實我覺得是中間層。在雲的道路上Iaas->pass->saas最終是saas。既然要提供saas就像微信接口一樣你需要提供接口。那麼你就得屏蔽底層的各種問題。對外提供統一的標準。webService是項目之間的共享,也就是別人你調用你項目的某種方法。而阿里做的是myfox。prom等東西他需要屏蔽不同數據在不同種類數據庫中不同,提供統一的上層服務接口。然後賣數據。











發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章