Spring MVC学习记录(一)——网站基础知识(1)

Spring MVC学习之——网络架构及演变过程

1.软件的三大类型:单机类型、CS类型、BS类型。

单机类型:曾经的主要软件类型,不联网,实现电脑的基本功能,如打字、画图。

CS类型:单机之后为了统一管理软件的数据,产生了客户端和服务器端,客户端管理业务,服务器端管理数据。后来这种类型也出来了将部分业务放到服务器端中。

BS类型:基于浏览器实现,浏览器是用来显示数据的,业务是在服务端实现处理,具体业务在不同的服务端进行,BS结构除了提供统一的客户端,还根据相应协议和标准提供通用的服务器程序,服务器程序统一处理数据链接、封装和解析等工作。

这三种类型,BS结构开发最简单,目前使用最广。也不是说BS是最好的。比如我们电脑中的记事本、OFFICE是单机软件;BS结构的灵活性和处理效率都不如CS结构(所以优酷什么的老要用户下客户端会快?嘿嘿)所以像QQ、大型游戏等软件使用的还是CS结构(这些大部分是基于C/C++开发)。

2.网络基础结构

了解网络传输方式,OSI和TCP/IP都是将网络传输的过程分成多个简单的问题。

这里说一下TCP/IP的四层结构:

1.网络接入层:将需要相互连接的节点接入网络中,从而为数据传输提供条件。

2.互联网层:找到需要传输数据的目标节点(IP)

3.传输层:实际传输数据(TCP)

4.应用层:使用接收到的数据(HTTP)

用上网买东西为例,我们先确定自己所在的位置有相应的菜鸟驿站,这个就相当于网络接入层,然后告诉卖家具体地址,这个相当于互联网层;快递送货,就是传输层;然后自己收到包裹拆包裹就是应用层。

3.架构演变

因为业务数据的增长,现在要解决的问题就是海量数据操作问题和高并发问题,网站复杂的架构就是这两个问题演变出来的。

架构演变的起点:从服务端只有一台主机到应用程序和数据库分离,出现多台主机。

4.海量数据解决方案:缓存、页面静态化、数据库优化、分离活跃数据、批量读取和延迟修改、读写分离、分布式数据库、NOSQL和Hadoop

缓存:缓存就是从数据库中获取的结果暂时缓存保存起来,在下次使用的时候无须重新到数据库中获取,降低数据库的压力。

通常用到的有程序编码直接保存和使用缓存架构保存;程序会用到Map、ConcurrentHashMap。常用的缓存框架是Ehcache、Memcache和Redics.

——————————————————2017/11/14等有时间再写。。。。

缓存使用过程中最重要的问题是什么时候创建缓存和缓存失效机制。还要注意缓存中空值的管理办法。。。这些有很多技巧,可以自己上网查。。。

缓存使用的情况是对实时性要求不高的,因为缓存和实际数据可能存在偏差。报表数据是不能用缓存技术的。

页面静态化道理和缓存一样,不过不是缓存数据库查询数据,而是将浏览器最后的页面保存下来。

页面静态化可以用模板生成,比如Freemarker和Velocity。

数据库优化:表结构优化、SQL语句优化、分区、分表、索引优化、使用存储过程代替直接操作

表结构优化,数据库入门啦,什么三范式之类的

SQL语句优化,一般是指基础语法的优化,网络上讲这个的有好多,也不用太记,可以后期优化需求的时候再改,留一手才不会失业嘛,哈哈。需要用的时候上网查。

这个SQL优化要注意的是什么嘞,是将涉及大数据的业务的SQL语句执行时间详细记录下来,其次通过仔细分析日志找出需要优化的语句和其中的问题,然后再有的放矢的优化。

分区,这个是数据库上的操作

分表,分表有时候是可以让操作提高速率的。但是也会存在分表过多涉及操作麻烦的问题,具体情况具体分析

索引优化,提高查询速度,但是也降低增删改的速度。

存储过程,只编译一次,可以在安全上用到,也可以用来提高效率。

分离活跃数据,数据量很大的时候,活跃数据并不多,可以将活跃数据单独保存起来进行操作,从而提高效率。比如网站里的用户数据,可以定期考量活跃用户并将它们放到默认表中,查询时先从默认表中查询,找不到再从不活跃用户表中查询。

批量读取和延迟修改,这两个操作的原理就是通过减少操作的次数来提高效率。

批量读,就是将要读的很多数据放到一个变量中读取。

延迟修改,利用缓存,这个缓存不是上面说的缓存技术,将要修改的数据放在缓存里,然后定时将缓存中的额数据写入到数据库中,不会造成一堆写的阻塞。

读写分离,这个一般用在数据库是集群的情况下,用主服务器写,从服务器们读,要考虑负载均衡,读写分离操作什么的。

NoSQL\Hadoop,NoSQL非结构化的用区块链技术连接的,在互联网有用的,企业业务系统没有用这个的,还在发展阶段,现在区块链又不火了,可能用这个的还是比较少啊

Hadoop专门针对大数据的一套框架,集群。很多大数据技术是基于Hadoop实现的,所以Hadoop用的还是挺多的。

--------------------------------------------------------------------2017/11/15


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值