无状态服务📅 2018年01月03日 · ☕ 4 分钟1.问题描述 背景:一个 Django 开发的 SaaS 应用,对外提供文档服务功能。其中,搜索功能通过 Django Haystack 实现。 问题:搜索功能有时可用,有时不可用。多次测试,发现可用和不可用会交替出现,出现概率各占约 50%。 补充一下搜索功能实现的细节: Django Haystack 在提供搜索功能之前,需要
HTTP Header 之 Content-Type📅 2017年12月30日 · ☕ 5 分钟1. HTTP Header HTTP 协议是建立在 TCP/IP 协议之上的应用层规范,以 ASCII 码传输。HTTP 规范把 HTTP 请求分为三个部分:状态行、请求头、消息主体。类似于下面这样: 1 2 3 4 5 <method><request-URL><version> <headers> <entity-body> HTTP Header 包括通用头、请求头、响应头和实体头这四个部分。每个头域由一个头域的域名,冒号和域值组成。
Python 的类函数方法📅 2017年12月29日 · ☕ 4 分钟1. 函数方法 函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码片段。函数能提高应用的模块性,代码的重复利用率。Python 提供了许多内建函数,比如 print()、str()。同时,Python 也允许用户创建函数,这被叫做自定义函数。
交互式笔记本-Jupyter📅 2017年12月25日 · ☕ 4 分钟1. 简介 Jupyter Notebook(前称 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。 Jupyter Notebook 实际上是一个 Web 应用程序,可以创建和共享程序文档,支持实时代码,数学方程,可视化和 Markdown。 用途包括:数据清理和转换,数值模拟,统计建模
RabbitMQ 消息队列📅 2017年12月23日 · ☕ 4 分钟1. 消息队列的适用场景 1.1 异步处理 应用场景:用户注册后,需要发注册邮件和注册短信。同步的处理方法,系统的性能(并发量,吞吐量,响应时间)会有瓶颈。 1.2 应用解耦 应用场景:用户下单后,订单系统需要通知库存系统。传统的做法是,订单系统调用库存系统的接口