软件工程软件工程软件工程 (56).pdf

上传人:刘静 文档编号:52829965 上传时间:2022-10-23 格式:PDF 页数:16 大小:8.72MB
返回 下载 相关 举报
软件工程软件工程软件工程 (56).pdf_第1页
第1页 / 共16页
软件工程软件工程软件工程 (56).pdf_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《软件工程软件工程软件工程 (56).pdf》由会员分享,可在线阅读,更多相关《软件工程软件工程软件工程 (56).pdf(16页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、WebWeb系统架构设计 系统架构设计 WebWeb的发展带来大量机会 的发展带来大量机会 C/S结构 Client 通用客户端(浏览器/微信/)前端MVC 专用客户端(App)Server HTTP服务器 MVC HTTPHTTP服务器 服务器 REQUEST RESPONSE HTTP协议 一个非常简单的一个非常简单的PythonPython HTTPHTTP服务器 服务器#Codefromhttp:/ RESPONSE BaseHTTPServerBaseHTTPServer和和SimpleH7pRequestHandlerSimpleH7pRequestHandler里都做了什么里都做

2、了什么?接收HTTP请求 简单解析HTTP请求 调用RequestHandler 读入相应的文件或目录内容 写入HTTP响应 BaseHTTPServer SimpleHpRequestHandler 如果业务逻辑复杂,就有必要引入服务器架构 这样开发人员才能更好地关注在业务逻辑的处理上 MVCMVC设计的设计的HTTPHTTP后端服务器 后端服务器 Model View Controller database REQUEST RESPONSE router 与数据库交互 存、取相关数据 实现业务逻辑 给客户端以响应 追求便利,常常在此渲染模板 前后端发生了耦合!RESTfulRESTful

3、APIAPI 由于前端的发展,已经很有必要把前端模板从后端服务器上剥离出来 这样,后端可以专注于业务逻辑 GET/acGvity/listGET/Gcket?id=abcdefgPOST/acGvityPUT/acGvityDELETE/acGvity 可以用JSON格式作为RESPONSE的Content-Type Content比如可以是code:0,message:,data:name:party,Gcket_count:100 RESTfulRESTful APIAPI -前后端通信 前后端通信 Web页面 App等专用客户端 Ajax 发起HTTP请求 不同的端口不同的端口?跨域跨域

4、?对Web页面而言,前端和后端是不是需要两个不同的端口来同时提供服务?是不是会有Ajax跨域无法请求的问题?REQUEST RESPONSE 80端口 RESTful 后端1 前端文件 8123端口 管道文件 RESTful 后端2 异步任务 异步任务 我们知道,HTTP请求是同步的 也就是说,HTTP请求在服务器上响应之后,就不该做别的事了 但有些时候,我们不得已而为之(想想看,什么场景下?)此外,HTTP请求有超时限制(取决于浏览器)所以,我们在这些时候需要执行一些异步的任务 REQUEST RESPONSE TASKMANAGER TASK task_id 请求任务 启动任务 TIMER

5、 请求任务 异步任务的实现方式 异步任务的实现方式 定时任务 异步任务 操作系统定时任务/异步任务队列 cronjob/celery celery Node.JS可以借助其异步的特点自行实现,但极不推荐 自己实现的往往难以管理,而且容易出错 异步任务队列为系统规模化提升带来的增益 异步任务队列为系统规模化提升带来的增益 通过分布式的任务队列,可以借助集群的力量,以很快的速度消化掉大量异步任务 最困难的往往是0到1,而不是1到10 高性能高性能、高稳定性的服务 高稳定性的服务 为了追求系统的更高性能 我们应该充分利用缓存思想 借助缓存提高借助缓存提高WebWeb访问的速度 访问的速度 内存型数据

6、库往往比传统数据库简单不少,比如redis、memcached都是典型的Key-Value键值对存储 它们的一个用途就是作为缓存使用 比如,假设我们发现 GET/acGvity 这个API的访问平均耗时要500ms左右 但这个API大多数情况下返回的都是相同的结果 就可以将它的RESPONSE存入redis 再次访问,直接从redis取结果,平均耗时降低至100ms以内 需要注意缓存的过期机制(比如修改了acGvity的信息后缓存过期)或者在一些对实时性要求不那么高的场景下,可以给缓存设置固定的过期时间 回顾一下 回顾一下 想一想,抢票的架构该如何设计,才能在保证正确性的前提下尽可能榨干服务器的全部性能?谢谢大家谢谢大家!THANKS

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com