1. linux系统
Linux是一个基于POSIX(可移植的操作系统接口)和UNIX的多用户,多任务,支持多线程和多CPU的操作系统。
Linux能运行主要的UNIX工具软件,应用程序和网络协议。支持32位和64位硬件。
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
2.shell
Shell可以理解为linux系统提供给用户的使用界面。Shell为用户提供了输入命令和参数并可得到命令执行结果的环境。当一个用户登录linux之后,系统初始化程序init就根据/etc/passwd文件中的设定,为用户运行一个称为Shell的程序。
Shell是一个命令行解释,他为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动,挂起 ,停止甚至编写一些程序
3.python开发语言
Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本,随着版本的不断更新和语言新功能的添加,越多被用于独立的,大型项目的开发。
4.django开发框架
Django是由python编写的具有完整架站能力的开源Web框架。使用Django,只要很少的代码,python程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的Web服务。
Django本身基于MVC模型,既Model+view+controller设计模式
5.Mysql
Mysql是一个关系型数据库管理系统,关系型数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度
6.nginx
Nginx是一个高性能的HTTP和反向代理Web服务器,同时也提供了IMPA/POP3/SMTP服务。
Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件代理服务器,其特点是占有内存少,并发能力强。
7.nginx-lua
Lua是用标准C语言编写的一种小巧的脚本语言,并以源代码形式开放。其设计的目的是为了嵌入其它应用程序中,从而为应用程序提供灵活的扩展和定制功能。
8. docker
Docker就是集装箱原理。
- 不同的应用程序可能会有不同的应用环境,这个时候就需要隔离
- 对于一些Ubuntu转centos的版本支持问题,就可以使用docker解决
- 更好的利用虚拟机的空闲内存
9.k8s
k8s全称kubernetes,k8s是为容器服务而生的一个可移植容器的编排管理工具
从架构设计层面,我们关注的可用性,伸缩性都可以结合k8s得到很好的解决,如果使用微服务架构,搭配k8s,再从部署运维层面,服务部署,服务监控,应用扩容和故障处理,k8s都提供了很好的解决方案。
10. ceph跟cephfs
Ceph是一种分布式存储系统,所谓分布式,指的是Ceph可以部署在多台服务器上,通过多台服务器并行处理来对外提供高性能的读写块。同时Ceph除了能提供块存储,还可以提供文件存储、对象存储。
Cephfs是ceph提供的兼容POSIX协议的文件系统,对比rbd和rgw功能,是ceph里最晚满足production ready的一个功能,它底层还是使用rados存储数据。
是一种为优秀的性能,可靠性和可扩展性而设计的统一的分布式文件系统。
11.OpenStack
OpenStack可以理解为一个云操作系统
是一个云计算管理工具,通过命令或者基于Web的可视化控制面板来管理laaS云端的资源池。采用Python开发语言,遵循Apache开源协议。
12.CDN
CDN即是内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡,内容分发,调度等功能模块,使用户获取所需内容,降低网络拥塞,提高用户响应速度和命中率。
关键技术:内容存储和分发技术
13.ntp
NTP网络时间协议基于UDP,用于网络时间同步的协议,使网络中的计算机时钟同步到UTC,
再配合各个时区的偏移调整就能实现精准同步对时功能。提供NTP对时的服务器有很多,
比如微软的NTP对时服务器,利用NTP服务器提供的对时功能,可以使我们的设备时钟系统能够正确运行。
14.wrk
是微软为高校操作系统课程提供的可修改和跟踪的操作系统教学平台。它给出了Windows这个成功的商业操作系统的内核大部分代码,可以对其进行修改,编译,并且可以用这个内核启动Windows操作系统。
15.http_load
基于Linux平台的一种性能测试工具。以并行复用的方式进行,用以测试Web服务器的吞吐量与负载,测试Web页面的性能
16.awk
awk是一个优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一
17.tsar
是淘宝自己开发的一个采集工具,主要用来收集服务器的系统信息(如cpu,io,mem,tcp等),以及应用数据(如squid haproxy nginx等)。收集到的数据存储在磁盘上,可以随时查询历史信息,输出方式灵活多样,另外支持将数据存储到MySQL中,也可以将数据发送到nagios报警服务器。tsar在展示数据时,可以指定模块,并且可以对多条信息的数据进行merge输出,带–live参数可以输出秒级的实时信息
18.nc
可以用于连接,监听任意的TCP和UDP
19.Wireshark
是非常流行的网络封包分析工具,可以截取各种网络数据包,并显示数据包详细信息。常用于开发测试过程中各种问题定位。
20.tcpdump
网络数据采集分析工具,也就是我们常说的抓包工具
与它功能类似的工具有wireshark,不同的是,wireshark有图形化界面,而tcpdump则只有命令行
21.curl
curl是一个工具,用来传输来自服务器或者到服务器的数据。
用于在没有用户交互的情况下工作