服务端相关技术总结
服务端相关技术总结
在实际产品中,主要涉及到的计算机技术包括网络、数据库和多媒体,其中后端主要是处理数据,所谓的逻辑大多是,什么情况下怎样增删改查。个人理解,各个技术之间的发展关系如下:
db、nosql-->大数据->数据分析、机器学习->自然语言处理
图形学、图像处理->模式识别->计算机视觉+人机交互->VR AR
网络->分布式->高可用->云计算、普适计算
web后端的主要技术 交易处理+分析
cdn
nginx反向代理和负载均衡
应用程序
分布式session
RPC和服务治理(连接不同的功能)
消息队列(可靠存储和连接不同的系统)
分布式缓存
nosql
数据库sharding、读写分离,添加代理层实现分布式数据库
分布式存储
搜索
大数据
实时计算
技术的发展
计算机是研究计算和信息的学科,之前的互联网本质上是数据的增删改查。有了数据之后希望能使用数据,所以需要处理数据。互联网的特点是,数据量大,数据多,希望不依赖昂贵的硬件,所以基于网络和RPC等实现了大数据的存储平台,比如hadoop的hdfs(可以认为是分布式的文件系统)。数据不仅要存下来还需要能够使用,所以出现了基于hdfs的处理数据的计算框架(map reduce)。实际应用中有快速出结果的需求,原来的基于文件的计算方式map reduce不满足要求,需要有基于内存的计算框架,所以出现了spark。还有一些应用需要尽可能的实时的处理数据(不需要长期存储,也就是所谓的流计算),这时需要实时的大数据处理框架,所以出现了storm