01 2022 档案
摘要:GIL全局解释器锁 前提 首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念。就好比C++是一套语言(语法)标准,但是可以用不同的编译器来编译成可执行代码。有名的编译器例如GCC,INTEL C++,Visual C++等。Pytho
阅读全文
摘要:线程理论 什么是线程 线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。 线程的出现 60年代,在OS中能拥有资源和独立运行的基本单位是进程,然
阅读全文
摘要:操作系统发展史 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的。所以想要真正了解进程,必须事先了解操作系统。 1.穿孔卡片时代 1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手
阅读全文
摘要:socket套接字编程 socket介绍 Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议
阅读全文
摘要:软件开发架构 1.C/S C/S即Client/Server(客户端/服务器)结构,简单来说就是需要下载并且安装专用的客户端软件才能运行(例如手机中的各类app),并且服务器端也需要特定的软件支持,并采用大型数据库系统。 2.B/S B/S即Browser/Server(浏览器/服务器)结构,就是只
阅读全文
摘要:高可用 什么是高可用 高可用指一般是指2台机器启动着完全相同的业务系统,当有一台机器down机了,另外一台服务器就能快速的接管,对于访问的用户是无感知的。 常用工具 1.硬件通常使用 F5 2.软件通常使用 keepalived 部署Keepalived keepalived配置 修改keepali
阅读全文
摘要:动静分离 动静分离的目的是通过将静态文件挂载到nginx来减轻Python的性能压力 动静分离的实现 1.创建nfs挂载点 先创建一个文件 修改nfs的配置文件,将创建的文件加入 2.将静态资源放置于挂载点内 3.挂载到lb01 先下载nfs服务 挂载到目录 配置nginx Rewrite重写 基本
阅读全文
摘要:代理 代理的概念 在互联网请求里面,为了安全客户端往往无法直接向服务端发起请求,就需要用到代理服务,来实现客户端和服务端通信,并且代理可以将流量分流给多个服务端。 代理的方式 1.正向代理 客户端找到代理服务之后,还需要使用某个IP地址来找对应的服务器。 应用:VPN 2.反向代理 客户端只需要找代
阅读全文
摘要:location配置 Nginx配置文件中的location部分主要用来对于传入的URL进行匹配到特定的location,并从这个location中定义的目录下查找请求的文件。 location的优先级 使用Nginx Location可以控制访问网站的路径, 但一个server可以有多个locat
阅读全文
摘要:Nginx虚拟主机 虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台“虚拟”的主机,每台虚拟主机都可以是一个独立的网站,从网站访问者来看,每一台虚拟主机和一台独立的主机完全一样。利用虚拟主机,不用为每个要运行的网站提供一台单独的Nginx服务器或单独运行一组Nginx进
阅读全文