企业形象网站建设解决方案   |   集团公司网站建设解决方案   |    协会门户网站建设解决方案
您所在位置:首页 > 建站知识

网站开发

Website development

快速构建软件开发的应用指南

发布时间:2016-12-19 10:25:12

TAGS:网站开发

快速构建<a href= target=_blank class=infotextkey>软件开发</a>的应用指南.jpgkMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

你应该考虑在构建高性能的Web应用程序的常见的原则(特别是在后端部分)。
kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

以下讨论的概念在这里可以适用于任何语言和框架。虽然这篇文章将介绍一些具体的实例,设计模式和工具,主要用于PHP生态系统。
kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

how to build a Web架构?kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

在我们开始的基本规则,快速构建Web应用程序,我想推荐我们建立一个基于SaaS架构可靠的云近的博客kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

TL;DR的基本规则快速构建Web应用程序:kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

  • 规则1、避免过早优化kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

  • 规则2、做的工作的低数额来解决难题kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

  • 规则3、推迟你不必需马上做的工作kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

  • 规则4、当你可以使用缓存kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

  • 规则5、知晓和避免N 1查询难题与关系型数据库kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

  • 规则6、准备你的应用程序时或许的横向扩展kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

规则1:避免过早优化kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

其中著名的高德纳的名言说:kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

blob.pngkMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

Knuth留意到,很多软件开发商普遍浪费大量时间思考性能的非关键零件,他们所写的代码。为了避免陷入过早优化陷阱你应该不用担心性能写代码的第一个版本。kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

然后你可以使用Profiler来检测你的代码和看到的瓶颈在哪里。这样你就可以专注于真正必需你关注的部分改进。
kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

Knuth的话并不意味着你不必需在所有关于优化护理并不是写烂代码的借口然后放弃它。
kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

它应该被视为一种鼓励学习如何“优化灵活”,你应该读它的方式。
kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

假如你的工作是在PHP的土地有很多工具,你可以很容易地通过测试你的代码:
kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

  • Xdebug:或许是著名的PHP调试器和profiler,它必须安装在一个PHP扩展和它在大多数的IDE容易积。kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

  • xhprof:一个php函数层次轮廓。它配备了一个简单的基于HTML的导航界面,提供了一些很酷的区分能力比较代码的不同版本的性能。kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

  • symfony的轮廓:symfony的分析器的symfony框架好的优点一一。它允许你检查每个请求的执行时间,展示一个很好的时间,让你轻松知晓代码的哪些部分是耗时的。它是自动启用的“发展”模式,不必需任何PHP扩展来安装。kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

  • 秒表的组成部分:这是用在symfony的廓线测量一段PHP代码的执行时间,低水平的图书馆。它可以很容易地集成在任何PHP项目和不必需任何扩展。kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

  • blackfire.io:探查器优化PHP提供了一个很好的Web界面,可以直观知晓你的代码在CPU的大部分时间。kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

  • 天堂Blackfire:一个很有前途的替代,提供了大量的图形化的工具(时间,调用图等)使它很容易找到瓶颈。它的意思是连续运行(在生产)。kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

规则2:只做你必需做的。kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

很多时候你的代码比它必需做更多的事情。
kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

假如你在你的代码中使用复杂的库和框架,这是逼真的。
kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

有一些设计模式和技术,可以帮助你避免这些情况,达到更好的性能。
kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

自动装填它是一个:PHP的特征允许你必需包含类定义的只有你要使用这个类是当文件(实例化,静态办法的调用,访问一个常数,等)。这样,你不应该担心它的文件包括在您的脚本,但只使用类,你必需。自会为你做的休息。配置自动加载在过去有点复杂,特别是因为每一个图书馆都使用自己的习俗,但今天感谢psr-0和psr-4的标准和工具,如作曲家是一块蛋糕,使用自动装填。kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

依赖注入:这是一个非常常见的设计模式在java的世界,在过去的几年中有很多牵引甚至在PHP的世界也感谢symfony框架一样努力,Zend和Laravel提倡广泛使用。kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

懒加载:另一个重要的设计模式用于推迟一个对象初始化直到必需它。它的主要使用对象与数据库连接这样的重资源或基于文件的数据源。kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

规则3:我明天再做!kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

blob.pngkMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

有多少次你必需发送一封邮件到客户在他/她引发你的Web应用程序的特定事件(如密码更改或订单完成)?有多少次你必需调整大小的图像在客户上传的吗?kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

这是很常见的在发送成功的消息给客户做这些“重”的操作。换句话说,我们的客户期望在他们的浏览器尽快看到一些消息,我们必需确保任何额外的任务(不直接相关,与创建的消息)应递延。
kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

做的常见的方式是使用工作队列,这意味着你必须存储必需执行的延迟任务到队列的一种数据量小(例如数据库、消息代理)和忘记它。kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

你得马上回来你的主要任务:为客户产生的输出!kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

会有一些什么样的工人到位的目标从队列中读取并执行定期的推迟的工作(如发送电子邮件或生成图像的缩略图)。
kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

一个简单的排队系统可以轻松完成任何数据存储(经常使用或MongoDB使用)或消息代理一样RabbitMQ和ActiveMQkMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

Rule 4: Gotta Cache ’ 他们 所有 的 !kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

当前Web应用程序真的是件复杂的代码。为了生成每一个需求我们做很多事情的反应:连接一个或多个数据库,调用外部API读取配置文件、计算和汇总数据,将结果为解析的格式(XML、JSON等)或使它与模板引擎进入一个奇妙的HTML页面。kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

使用我们可以为每个请求得到这样幼稚的做法,我们的服务器将永远不会厌倦做重复性的工作。kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

但有一个聪明的和更好的方式来做重复工作,避免计算相同的结果一次又一次。这就是所谓的缓存。
kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

blob.pngkMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

缓存被广泛应用于计算机科学和你几乎可以到处找到它。例如,内存本身可以被视为一种方式来缓存运行的程序的代码来避免读取CPU(慢)硬盘疏亿万次。kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

一般有几种不同的级缓存要点在Web开发。从字节码缓存,应用缓存,代理缓存。看看这篇文章从卢西亚诺知晓更多关于这些缓存类型
kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

一旦你得到了缓存的概念,通过它真的很容易。难题出现时,你必需知晓是否有改变和缓存版本的数据或许不相关了。在这种情况下,您必需删除的数据缓存来确保它得到正确的情况下它的需求。这个过程被称为“缓存失效”,通常是开发商的一点,一个非常著名的报价存在的疯狂:kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

blob.pngkMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

没有银弹使缓存失效容易,它真的取决于你的代码的架构和应用程序的需求。一般不缓存层你有更好的:总是避免增加复杂度!kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

规则5:避免该死的N 1的查询难题kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

“then 1查询难题“是一个很常见的反模式中使用尤其是在处理关系数据库。基本上它是从数据库记录的查询生成N 1(一读N IDS和1的每一个记录)。看看下面这段代码有一个逼真的案例(嗯…真的)例子:kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

blob.pngkMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

代码加载一个客户列表先给定一块,为每一个客户,它负载他的后登录时间从数据库。这段代码产生以下N 1查询:kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

blob.pngkMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

这显然是低效的,它经常与“有很多数据库”的关系,尤其是当你使用某种魔法的ORM,你不知晓它是从盒子做(也许你还没有配置好)。kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

通常你可以通过产生一个查询如下解决这个难题:
kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

blob.pngkMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

或用语法尽或许加入kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

这个难题只能解决当你在你的SQL查询控制或假如你有一个清楚的知晓你所使用的ORM库(假如你使用一个)。kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

无论如何,记住,你一定不要在N 1查询的陷阱,尤其是当你处理大数据集。很多PHP分析器允许你检查生成的查询每次请求页面时,他们可以理解假如你正在做的事情正确避免N 1查询难题方面非常有用的同伴。
kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

规则6:横向规模!kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

“可扩展性”是不完全相同的“表演”,但只这两件事是紧密交织在一起的。kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

给你我个人的定义,“可扩展性”是一个系统的适应和保持功能没有明显的性能难题,当客户数增长的能力(需求)。
kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

这是一个非常复杂的话题,我不想在这里广泛进入细节。但为了表现值得知晓和记住一些简单的事情你可以做,以确保您的应用程序可以很容易地扩展水平。kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

水平缩放is a particular调整策略你在其中添加更多的机器集群在您的应用程序部署。这样的负荷分在所有的机器,从而使整个系统能够保持高性能即使有大量的并发请求。
kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司


kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

考虑到当准备水平缩放两大难题客户会话和客户文件的一致性kMe上海网站开发,上海网站建设,网站设计,网站制作-特马QQ网站开发公司

原创不易,未经授权,严禁转载

原文地址:/i,72,6999,0.html

客户评价

更多+
  • 感谢特马资料qq群,系统提前完成,在整个项目周期内,特马资料qq群对待我们并不像是对待客户,更像是朋友一样,每一次,都能以专业的角度向我们提出更合理、更有效的解决方案,并快速、细致地完成我们的每一个需求,再次感谢以至诚之心做事的特马资料qq群团队。

    潘涛

  • 我是东方龙马集团,在云智家做了2个企业官网,服务态度超级好。假如想做网站,选择他家一定不后悔。性价比高,服务态度好。值得你的信赖!

    谭娇

  • 技术好,设计精良,操作便利,很专业!配套的服务和后续的服务都很好,网站封面堪称精品,运行方便,后台操作的简单。技术还会耐心教我,很好的特马资料qq群(上海)科技有限公司,建站很不错的。

    陈曦

  • 不错,价格比较合适,要点是响应速度蛮快,有什么难题都会马上给你解决,公司很满意,因为他们全是针对每个项目建了相应的讨论组,有难题可以再里面提出,人员分工到位,解决难题很及时。

    张经理

联系方式

工作时间:10:00-19:00
咨询电话:010-64758810
客服邮箱:net@cnlink.cc

服务领域

  • 网站定制开发
  • PC网站设计
  • 域名邮箱
  • 网站维护
  • 网站二次开发
  • 响应式网站设计
  • 虚拟主机
  • 网站优化
  • 网站设计开发
  • 创意设计
  • 云主机
  • 项目合作

合作伙伴

All Rights Reserved.©2010-2016 特马QQ群|资料网站京公网安备 110105019435 京ICP备123124426号
本网站设计已受版权保护,任何公司及个人不得复制,违者将依法追究责任,特此声明。法律顾问:上海市辉瑞律师事务所。
嘿,我来帮您!