随笔——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等东西他需要屏蔽不同数据在不同种类数据库中不同,提供统一的上层服务接口。然后卖数据。











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