hongweipeng 发布的文章

Python Web之路Django(六):高级模型查询


起步

为了说明这部分的例子,模型结构如下:

class Publisher(models.Model):   # 出版社
    name = models.CharField(max_length=31)

class Book(models.Model):       # 书
    name = models.CharField(max_length=31)
    price = models.DecimalField(max_digits=5, decimal_places=2)
    publisher = models.ForeignKey(Publisher, on_delete=models.CASCADE)

class Author(models.Model):    # 作者
    name = models.CharField(max_length=31)
    books = models.ManyToManyField(to=Book)


[转]Twitter设计:分布式系统“推拉模式”的优化


原文链接:http://blog.bittiger.io/post162/

*本文来自于BitTiger冯沁原老师的硅谷之路系列视频之如何设计Twitter,欢迎大家回看视频:https://www.bittiger.io/classpage/8d7E2LPPy2HcZNr7D

我们在上篇最终给出了一个推拉结合的模型,左边属于推模型 ,写进一个消息可以发给所有关注我的人;右边属于拉模型,当我发出消息以后,只写到我自己的list里面,每个人可以过来读取;而Merger将推拉模式结合到一块得到这种结果,针对这种架构我们怎么做优化呢?如何使它更快?

1-1.jpg


Django+Uwsgi+Nginx 实现生产环境部署


Django的部署可以有很多方式,生产环境大多采用nginx+uwsgi的方式

uwsgi介绍

uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。

要注意 WSGI / uwsgi / uWSGI 这三个概念的区分。

  1. WSGI是一种Web服务器网关接口。它是一个Web服务器(如nginx,uWSGI等服务器)与web应用(如用Flask框架写的程序)通信的一种规范。
  2. uwsgi是一种线路协议而不是通信协议,在此常用于在uWSGI服务器与其他网络服务器的数据通信。
  3. 而uWSGI是实现了uwsgi和WSGI两种协议的Web服务器。
  4. uwsgi协议是一个uWSGI服务器自有的协议,它用于定义传输信息的类型(type of information),每一个uwsgi packet前4byte为传输信息类型描述,它与WSGI相比是两样东西。


[转]Python后端架构演进


原文链接:https://zhu327.github.io/2018/07/19/python后端架构演进/

来腾讯之前在前公司做了3年的后端开发, 经历一款SaaS产品从0到10(还没有到100, 哈哈哈)的过程, 3年间后端的架构逐步演变, 在微服务的实践过程中遇到的问题也越来越多, 在这里总结下.

产品是一款服务于人力资源的SaaS在线服务, 面向HR有Web Android/iOS 小程序多个客户端, 后端采用RESTful风格API来提供服务. 主要使用Python语言, 方便快速迭代.

架构的演进经历了4个大的阶段: 1. MVC 2. 服务拆分 3. 微服务架构 4. 领域驱动设计.