Author: admin

PHP实现多线程抓取网页

PHP 利用 Curl Functions 可以完成各种传送文件操作,比如模拟浏览器发送GET,POST请求等等,受限于php语言本身不支持多线程,所以开发爬虫程序效率并不高,这时候往往需 要借助Curl Multi Functions 它可以实现并发多线程的访问多个url地址。既然 Curl Multi Function如此强大,能否用 Curl Multi Functions 来写并发多线程下载文件呢,当然可以,下面给出我的代码:

代码1:将获得的代码直接写入某个文件

    

Couchbase:更好的Cache系统

在移动互联网时代,我们面对的是更多的客户端,更低的请求延迟,这当然需要对数据做大量的 Cache 以提高读写速度。

  术语

  • 节点:指集群里的一台服务器。

  现有 Cache 系统的特点

目前业界使用得最多的 Cache 系统主要是 memcached 和 redis。 这两个 Cache 系统都有都有很大的用户群,可以说是比较成熟的解决方案,也是很多系统当然的选择。 不过,在使用 memcached 和 redis 过程中,还是碰到了不少的问题和局限:

  • Cluster 支持不够。在扩容、负载均衡、高可用等方面存在明显不足。
  • 持久化支持不好,出现问题后恢复的代价大。memcached 完全不支持持久化,redis 的持久化会造成系统间歇性的负载很高。

RESTful API 设计最佳实践

来源:http://www.oschina.net/translate/best-practices-for-a-pragmatic-restful-api

数据模型已经稳定,接下来你可能需要为web(网站)应用创建一个公开的API(应用程序编程接口)。需要认识到这样一个问题:一旦API发布后,就很难对它做很大的改动并且保持像先前一样的正确性。现在,网络上有很多关于API设计的思路。但是在全部案例中没有一种被广泛采纳的标准,有很多的选择:你接受什么样的格式?如何认证?API应该被版本化吗?

在为SupportFu(一个轻量级的Zendesk替换实现)设计API时,对于这些问题我尽量得出一些务实的答案。我的目标是设计这样一个API,它容易使用和采纳,足够灵活去为我们用户接口去埋单。…

    

理解本真的REST架构风格

本文是“深入探索REST”专栏系列深度内容中的第二篇,它将带您领略REST架构的起源、与Web的关系、REST架构的本质及特性,以及REST架构与其他架构风格之间的比较。

引子

在移动互联网、云计算迅猛发展的今天,作为一名Web开发者,如果您还没听说过“REST”这个buzzword,显然已经落伍了。夸张点说,甚至“出了门都不好意思跟别人打招呼”。尽管如此,对于REST这个泊来品的理解,大多数人(包括一些资深的架构师)仍然停留在“盲人摸象”的阶段。常常听到各种各样关于REST的说法,例如:有人说:“我们这套新的API决定不用Web Service(SOAP+WSDL),而是直接使用HTTP+JSON,也就是用RESTful的方式来开发。” 不用SOAP,甚至也不用XML,就自动变成了RESTful了。还有人认为:REST与传统的Web Service其实没有本质区别,只是对于URI的构造方式提出了更多要求,而这些要求Web Service完全都可以实现。潜台词是:既生瑜,何生亮。Web Service已经足够好了,干嘛还要再折腾什么REST。这些对于REST的不同说法,果真如此吗?REST究竟是什么?是一种新的技术、一种新的架构、还是一种新的规范?

对于这些问题笔者先不解答,为了深入理解REST是什么,我们需要回顾一下Web发展的最初年代,从源头上讲讲REST是怎么得来的。…

    

看完这些 领悟PHP本身技能应该是很牛逼了

原文作者:Taylor Otwell

网上偶得此书,是Laravel的作者写的。 Laravel是近年来优秀的PHP框架,国内外都有很多支持者。该框架应用了大量PHP5尤其是5.3以后的新特性,使得后端的开发进一步的简便而灵活。具体可以看这里 http://www.laravel.com
作者写的这本书详细介绍了Laravel框架涉及的各种软件理念和工具,如依赖注入、控制反转容器、面向接口编程等。
我读来收获颇丰,所以希望翻译成中文以飨读者。…

thinkphp 框架 静态化,生成html

thinkphp  框架  静态化,生成html

使用thinkphp自带的buildHtml方法.

$this->buildHtml($Id, HTML_PATH .MODULE_NAME.CONTROLLER_NAME.ACTION_NAME. '/', '');

读取的时候,不经过php,直接读html文件, 需要nginx rewrite.

生成 html时,可在管理后台,的方法里加上面buildHtml方法生成.

前台或后台,每更改一次页面,要重新生成一次html.

此适用于非实时的 thinkphp页面.

可极大提高thinkphp的性能.…

            

CDN对流媒体和应用分发的支持及优化 | 高可用CDN架构详解

此文是根据马涛在【QCon高可用架构群】中的分享内容整理而成,转发请注明出处。

马涛,前迅雷网络CDN系统研发工程师,也曾任EMC/Pivotal大数据处理系统Hawq研发工程师。从事CDN之前主要做数据库内核,平时关注大数据处理、并行系统容错和优化、后台服务性能优化。

    

秒杀系统架构解密与防刷设计 – 高可用架构系列

此文是根据吕毅在【QCON高可用架构群】中的分享内容整理而成,转发请注明出处。

吕毅,百度资深研发工程师,LAMP人。
2012年从新浪加入百度移动服务事业群。在百度期间,随着产品线发展和业务上QPS增长,架构设计方面略有所获,对移动端业务、优化有独特的理解和方法。

抢购业务介绍