anzhsoft的技术专栏

专注分布式资源管理和大数据处理平台: Since Dec. 2013

RabbitMQ消息队列的小伙伴: ProtoBuf(Google Protocol Buffer)

什么是ProtoBuf? 一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API...

2014-02-24 15:29:36

阅读数 30189

评论数 5

RabbitMQ消息队列(七):适用于云计算集群的远程调用(RPC)

在云计算环境中,很多时候需要用它其他机器的计算资源,我们有可能会在接收到Message进行处理时,会把一部分计算任务分配到其他节点来完成。那么,RabbitMQ如何使用RPC呢?在本篇文章中,我们将会通过其它节点求来斐波纳契完成示例。

2014-02-23 21:37:14

阅读数 40194

评论数 12

RabbitMQ消息队列(六):使用主题进行消息分发

在上篇文章RabbitMQ消息队列(五):Routing 消息路由 中,我们实现了一个简单的日志系统。Consumer可以监听不同severity的log。但是,这也是它之所以叫做简单日志系统的原因,因为是仅仅能够通过severity设定。不支持更多的标准。 比如syslog u...

2014-02-23 16:29:19

阅读数 38304

评论数 3

RabbitMQ消息队列(五):Routing 消息路由

上篇文章中,我们构建了一个简单的日志系统。接下来,我们将丰富它:能够使用不同的severity来监听不同等级的log。比如我们希望只有error的log才保存到磁盘上。 1. Bindings绑定     上篇文章中我们是这么做的绑定: channel.queue_bind(exchange=e...

2014-02-21 20:04:22

阅读数 50315

评论数 7

RabbitMQ消息队列(四):分发到多Consumer(Publish/Subscribe)

上篇文章中,我们把每个Message都是deliver到某个Consumer。在这篇文章中,我们将会将同一个Message deliver到多个Consumer中。这个模式也被成为 "publish / subscribe"。 这篇文章中,我们将创建一个日志系统,它包含...

2014-02-21 19:38:35

阅读数 59863

评论数 8

RabbitMQ消息队列(三):任务分发机制

在上篇文章中,我们解决了从发送端(Producer)向接收端(Consumer)发送“Hello World”的问题。在实际的应用场景中,这是远远不够的。从本篇文章开始,我们将结合更加实际的应用场景来讲解更多的高级用法。 当有Consumer需要大量的运算时,RabbitMQ Server...

2014-02-21 17:59:25

阅读数 99671

评论数 27

RabbitMQ消息队列(二):”Hello, World“

本文将使用Python(pika 0.9.8)实现从Producer到Consumer传递数据”Hello, World“。 首先复习一下上篇所学:RabbitMQ实现了AMQP定义的消息队列。它实现的功能”非常简单“:从Producer接收数据然后传递到Consumer。它能保证多并...

2014-02-20 21:15:52

阅读数 130387

评论数 15

RabbitMQ消息队列(一): Detailed Introduction 详细介绍

对于一个大型的软件系统来说,它会有很多的组件或者说模块或者说子系统或者(subsystem or Component or submodule)。那么这些模块的如何通信?这和传统的IPC有很大的区别。传统的IPC很多都是在单一系统上的,模块耦合性很大,不适合扩展(Scalability);如果使用...

2014-02-20 20:13:41

阅读数 219668

评论数 45

并发编程(三): 使用C++11实现无锁stack(lock-free stack)

本文使用C++11实现无锁的stack。 前几篇文章,我们讨论了如何使用mutex保护数据及使用使用condition variable在多线程中进行同步。然而,使用mutex将会导致一下问题 等待互斥锁会消耗宝贵的时间 — 有时候是很多时间。这种延迟会损害系统的scalability。尤...

2014-02-13 20:47:00

阅读数 17653

评论数 3

并发编程(二):分析Boost对 互斥量和条件变量的封装及实现生产者消费者问题

Boost的互斥量,条件变量做了很好的封装,因此比“原生的”POSIX mutex,condition variables好用。然后我们会通过分析boost相关源码看一下boost linux是如何对pthread_mutex_t和pthread_cond_t进行的封装。最后给出生产者消费者问题的...

2014-02-12 12:42:01

阅读数 15974

评论数 10

并发编程(一): POSIX 使用互斥量和条件变量实现生产者/消费者问题

boost的mutex,condition_variable非常好用。但是在Linux上,boost实际上做的是对pthread_mutex_t和pthread_cond_t的一系列的封装。因此通过对原生态的POSIX 的mutex,cond的生成者,消费者的实现,我们可以再次体会boost带给我...

2014-02-10 19:57:05

阅读数 13626

评论数 4

提示
确定要删除当前文章?
取消 删除
关闭
关闭