微博上的一位叫 阿佑学长 的博主 从一个运维的身份分享的一些知识
①互联网发展历程
从最开始用户只是信息的获取者 逐渐转变为信息的生产者 即UGC模式
整个互联网经历了web1.0 web2.0 移动互联 再到现在的大数据
②服务器以及机房组成
一个机房有许多的机柜 每个机柜由顶端的交换机 中间的多种服务器 底部的电源组成
机房天花板走线,用网线连接每个机柜的交换机,然后向外接通到别的机房
交换机用网线连接每个服务器进行数据传输
底部电源主要用于机房遭遇断电时服务器不至于立马停电,一般能坚持十五分钟的供电
单个服务器就像一台笔记本电脑——只是被剔除了音响、显示屏等设施
单个服务器由机壳盖、机壳、CPU、硬盘、内存、主板构成
可以在下方在线拆解华为某款服务器
服务器分为机架服务器和刀片服务器 前者横向插入机柜 需要单独供电
后者纵向插入并且由好几台服务器组成一个整体 一个整体统一供电
我们看到的各种软件的后台以及什么大数据等等的运算,就是在机房中的这些服务器上运行的
③互联网架构发展
2000年那种上古时期都是单机模式 一个软件的所有模块都放在一台服务器上
但是随着时代的发展,访问量的增加,单台服务器是有上限的,所以就要拆开成多服务器模式
做业务逻辑处理的模块,就部署在拥有多核CPU的服务器上
做文件存储的模块,就部署在拥有大空间磁盘的服务器上
做数据库读写的模块,就部署在拥有SSD,支持高速IO读写以及大内存的服务器上
再然后为了减轻对作为数据库的服务器的压力,将需要频繁访问的信息,比如用户登录信息等放在一个专门用作缓存的服务器上——通常是使用了redis(一种key-value存储系统)技术的服务器
上面就是分布式架构的由来,再然后发现将模块拆分放在单独的服务器上也顶不住访问量了,那么就用多个服务器支持一个模块,然后使用上了负载均衡以及消息队列(任务队列)
前者负责接收前端的需求,然后判断此时后端的controlled模块下哪个服务器负荷小,就把当前的请求分发给它
后者负责将单个服务器上接受到的需求进行排列,以便于有序处理
再往后发展就有了微服务,先不说了
④互联网职业区别
建议是能学开发或者算法就先走这条路 这既是基础 也是比较好的发展 其中后者要求更高——科班出身 研究生学历 发表论文
实在学不会再考虑测试、运维、网络、安全