Author: admin

阿里中间件——消息中间件Notify和MetaQ

3.1、Notify

Notify是淘宝自主研发的一套消息服务引擎,是支撑双11最为核心的系统之一,在淘宝和支付宝的核心交易场景中都有大量使用。消息系统的核心作用就是三点:解耦,异步和并行。下面让我以一个实际的例子来说明一下解耦异步和并行分别所代表的具体意义吧:

假设我们有这么一个应用场景,为了完成一个用户注册淘宝的操作,可能需要将用户信息写入到用户库中,然后通知给红包中心给用户发新手红包,然后还需要通知支付宝给用户准备对应的支付宝账号,进行合法性验证,告知sns系统给用户导入新的用户等10步操作。

那么针对这个场景,一个最简单的设计方法就是串行的执行整个流程,如图3-1所示:

#研发中间件介绍#异步消息可靠推送Notify

电商系统为什么需要 NotifyServer?
  如子柳所说,电商系统『需要两种中间件系统,一种是实时调用的中间件(淘宝的HSF,高性能服务框架)、一种是异步消息通知的中间件(淘宝的Notify)』。那么用传统的 ActiveMQ/RabbitMQ 来实现 异步消息发布和订阅 不行吗?
  2013年之前我们确实用的是 ActiveMQ,当然主要是订阅者 Pull 模式,选 MySQL 做消息持久化存储,SA 还为此反复测试了各种高可用方案,如下图所示,ActiveMQ 5.8,mq主从+mysql互为主从+MMM。

把三千行代码重构为15行

把三千行代码重构为15行

那年我刚毕业,进了现在这个公司。公司是搞数据中心环境监控的,里面充斥着嵌入式、精密空调、总线、RFID的概念,我一个都不懂。还好,公司之前用Delphi写的老客户端因为太慢,然后就搞了个Webform的替代,恰好我对Asp.Net还算了解,我对业务的不了解并不妨碍我称成为这个公司的一个程序员。小公司也有小公司的好,人少,进去很快负责代码开发。我当然也就搞这个数据中心智能管理系统啦。…

十款提高开发效率的PHP编码工具

当我们经常都要处理诸如象手工代码测试及部署这样枯燥重复的工作时,往往会感到沮丧。然而我们一直努力想变得高效率,正如DRY原则所说的(译者住:DRY=Don't Repeat Yourself,不重复原则,参见:http://en.wikipedia.org/wiki/Don%27t_repeat_yourself)。所以为什么不将这样的原则应用到软件开发的其他生命周期,使得能高效流畅并自动去完成这些工作呢?本文将向你介绍10款PHP开发工具,它们能正好能帮助你达到那样的要求,使你能有更多时间专注于建设更优秀的网页。…

    

PHP多线程的实现方法详解

多线程是java中一个很不错的东西,很多朋友说在php中不可以使用PHP多线程了,其实那是错误的说法PHP多线程实现方法和fsockopen函数有关,下面我们来介绍具体实现程序代码,有需要了解的同学可参考。

 

当有人想要实现并发功能时,他们通常会想到用fork或者spawn threads,但是当他们发现php不支持多线程的时候,大概会转换思路去用一些不够好的语言,比如perl。…

    

关于php的libevent扩展的应用

php有个libevent扩展,在一年前我曾经拿它实现了一个thrift socket server,虽然我没有把它放在正式的场合来使用,但是我觉得这个扩展应该可以有更广泛的用途,比如:

  • phpDaemon ― 一个异步的服务器端开发框架.
  • tail - 用php实现类似unix下的tail命令行
  • ZeroMQ + libevent in PHP - 用php和ZeroMQ实现的一个事件驱动服务器端

PHP:40+开发工具推荐

PHP是为Web开发设计的服务器脚本语言,但也是一种通用的编程语言。超过2.4亿个索引域使用PHP,包括很多重要的网站,例如Facebook、Digg和WordPress。和其它脚本语言相比,例如Python和Ruby,Web开发者有很多不错的理由皮偏爱PHP。
对于PHP开发者,在互联网上有很多可用的开发工具,但是找到一个合适的PHP开发工具是很难的,需要花费很多努力和时间。今天,就为开发者介绍45个方便的PHP工具。…