摘要:
所有的GUI程序都是事件驱动的,事件主要由用户触发,也可能是程序触发。 PyQt5有一个独特的signal&slot(信号槽)机制来处理事件。信号槽用于对象间的通信。signal在某一特定事件发生时被触发,slot可以是任何callable对象。当signal触发时会调用与之相连的slot。 通用表 阅读全文
摘要:
PyQt5是一个可用于创建图形用户界面(GUI)的模块,使用前要先进行安装 pip install PyQt5==5.12。需要Python 2.6或更高版本。 简单窗口 import sys # QtWidgets模块包含了一套创建桌面应用的UI元素组件 from PyQt5.QtWidgets 阅读全文
摘要:
1. 什么是消息队列? 消息队列(Message Queue,简称MQ)是在消息的传输过程中保存消息的容器,本质是个队列。消息(Message)是指在应用之间传送的数据,可以是文本字符串、嵌入对象等。 Producer:消息生产者,负责产生和发送消息到 Broker。 Broker:消息处理中心,负 阅读全文
摘要:
1. Nginx Nginx 是一个高性能的Web服务器,反向代理服务器和邮件服务器。其特点是占有内存少,并发能力强。 2. Nginx 进程 Nginx 有一个 master 进程和一个或多个 worker 进程。如果启用缓存,Cache Manager 和 Cache Loader 进程也会运行 阅读全文
摘要:
zabbix 是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 1. 系统架构 ZABBIX Web:zabbix的GUI,管理zabbix配置和查看相关的监控信息。 ZABBIX DB:存储配置信息和Zabbix Server收集到的数据。 ZABBIX Serve 阅读全文
摘要:
默认情况下,Nginx 通过 upstream 模块与后端服务器建立的是TCP短连接,使用 HTTP/1.0 协议,并设置 proxy_set_header connection close。 Nginx 通过 upstream keepalive 与后端服务器建立长连接。可以复用长连接,提高服务性 阅读全文
摘要:
JVM(Java Virtual Machine,Java虚拟机)是一个虚构出来的计算机,通过在真实的计算机上模拟各种计算机功能,本质是一个程序。Java 虚拟机屏蔽了与具体操作系统平台相关的信息,使得 Java 编译器生成的字节码文件,可以在多种平台上不加修改地运行。Java 语言的可移植性正是建 阅读全文
摘要:
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 机器上,也可以实现虚拟化。容器使用沙箱机制,相互之间不会有任何接口。 1. 虚拟机与Docker 2. Docker 优势 主机资源利用率高 启动时 阅读全文
摘要:
Kubernetes 是 Google 开源的容器集群管理系统,支持自动化部署、自动扩缩容、管理容器化的应用。 1. 集群架构 Kubernetes 属于主从分布式架构,包括 Master 节点和 Node 节点,以及命令行工具 kubectl 和其它附加项。 节点 组件 功能 Master API 阅读全文
摘要:
1. 数据库连接池 数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个。连接池的作用是降低建立和关闭数据库连接所产生的系统开销,提高应用程序的性能。 2. 连接池工作原理 在系统初始化时,将数据库连接作为对象存储在内存中。 当用户需要访问数据 阅读全文