django服务器的响应流程

服务器响应流程

    • -browser -> load balance(负载均衡)
    • -load balance -> Nginx(Web Server)
    • -Nginx -> Http Server(uwsgi, gunicorn, runserver)
    • -Http Server -> process_request
    • -process_request -> urls
    • -urls -> process_view
    • -process_view -> views
    • -views -> models
    • -models -> views
    • -views -> process_template_response
    • -process_template_response -> response
    • -response -> process_response
    • -process_response -> Browser

Django的请求到响应的流程,简单的来说就是利用wsgi,当用户发来一个request进行response,请求/数据【均匀】分摊到多个操作单元上执行,负载均衡的关键在于【均匀】,【客户端层】到【反向代理层】的负载均衡,是通过“DNS轮询”实现的,【反向代理层】到【站点层】的负载均衡,是通过“nginx”实现的,【站点层】到【服务层】的负载均衡,是通过“服务连接池”实现的,然后开始经过中间件,Process_Request,如果Process_Request没有return,则程序会进入url,这时程序会检测用户有没有设置process_view,如果有,则接下来先执行process_view,,如果process_view没有return,程序会执行views文件中的函数,函数接下来会向models发送请求,models会把结果返回给视图函数views,然后views开始把结果先给process_template_response这个中间件的响应,经过它以后响应response,经process_response后就把结果响应给了浏览器。


django服务器的响应流程_第1张图片
image.png

你可能感兴趣的:(django服务器的响应流程)