随笔分类 - 其他
摘要:一、为什么使用rpc。 1)相比uwsgi,使用rpc的长连接可以不需要频繁创建连接,提高传输效率。 2)rpc支持同步和异步,对于不需要等待返回的消息可以不等待返回继续运行,减少客户端等待时间。 3)使用rpc入口是我们自己定义的,可以根据不同消息类型定制不同的策略。 二、设计思路 使用统一入口,
阅读全文
摘要:一、证书生成。 1、SSL Server生成私钥/公钥对。server.key(加密)/server.pub(解密);2、server.pub生成请求文件server.csr,包含server的一些信息,如域名/申请者/公钥等;3、server将server.csr递交给CA,CA验证通过,用ca.
阅读全文
摘要:1、 安装 准备主要的三个安装包,分别是 nginx-1.15.9.tar.gz LuaJIT-2.0.5.tar.gz lua-nginx-module-0.10.14.tar.gz 相关版本可以去官网下载,放在自定义目录并解压: 先安装LuaJIT: 下面需要配置一下LuaJIT的环境变量,编译
阅读全文
摘要:1、uwsgi_response_write_body_do(): Broken pipe 出现这种情况一般是由于客户端无法等到服务端的回应而关闭了连接,常出现与nginx + uwsgi的情况,当uwsgi做完准备给nginx回应时,发现连接已经关闭了,这时候就会报这个错,需要检查服务端的处理逻辑
阅读全文
摘要:http1.1支持长链接,而http1.0不支持,所以,在切换http版本号或者升级服务端版本时候,尤其要注意这个造成的影响。 当客户端以http1.1长链接方式连接服务端时,服务端如果不支持1.1,客户端会进行协议降级,用1.0通信,即使用短连接,此时服务端可以正常提供服务; 一旦服务端http版
阅读全文
摘要:#celery_app.py #!/usr/bin/env python # -*- coding: utf-8 -*- from __future__ import absolute_import import os from celery import Celery, platforms from django.conf import settings os.environ.setdef...
阅读全文
摘要:1、celery基本原理 Celery是一个由python编写的简单、灵活、可靠的用来处理大量信息的分布式系统,同时提供了操作和维护分布式系统所需要的工具,说白了就是一个用来管理分布式队列的工具。 Celery主要包含如下几个概念: Brokers:存放/拿取任务的地方,常见的brokers有rab
阅读全文
摘要:1 Redis存储机制: redis存储的数据类型包括,String,Hash,List,Set,Sorted Set,它内部使用一个redisObject对象来表示所有的key和value,这个对象基本结构见下: typedef struct redisObject { unsigned type
阅读全文
摘要:uWSGI是实现了WSGI,uwsgi的一个web server,WSGI是一种规范。要实现WSGI协议,必须同时实现web server和web application,web server由uwsgi提供,app很多python的web框架都支持,比如django,flask等,基本模型如下。
阅读全文
摘要:nginx是一个强大的web server,它支持反向代理,负载均衡,也是很好的静态文件服务器,下面是其多进程模型。 nginx采用多进程模型,单Master多worker,由Master处理外部信号、配置文件的读取及worker的初始化,Master不需要处理网络事件,不负责业务的执行,只会通过管
阅读全文
摘要:1、服务发现 在服务很多的情况,尤其现在docker出现,业界都发起服务化的热潮,几十几百个服务再正常不过,如果使用预定义端口,则很容易发生冲突,而自动分配端口则会避免这一问题,但是自动分配端口如何让别人知道,这就是服务发现需要做的事。 通常,一个服务发现系统主要由三部分组成: 注册器(regist
阅读全文
摘要:1、核与巨页 一个服务器通常有多个物理CPU,每个CPU又包含多个核,所以物理总核数=物理CPU*单个CPU的核数,每个核又可以包含几个(2个居多)超线程,逻辑总和数=物理总核数*超线程数,下面分别是某刀片的物理CPU数,每个cpu的核数,逻辑核。 下面是CPU的内部基本架构,同一个核的超线程通过高
阅读全文
摘要:gevent是基于协程的Python网络库。 协程存在的意义:对于多线程应用,CPU通过切片的方式来切换线程间的执行,线程切换时需要耗时(保存状态,下次继续)。协程,则只使用一个线程,在一个线程中规定某个代码块执行顺序,当程序中存在大量不需要CPU的操作时(IO),适用于协程。 特点:基于libev
阅读全文

浙公网安备 33010602011771号