sns架构讨论

nosql    tokyocabint   mongodb

异步队列httpsqs、gearman、message queue、starling(被Kestrel替代) ,Kestrel(memcache),  ActiveMQZeroMQ

 RabbitMQ (amqp

activemq(jms)被 Apollo替代  支持mysql持久化 消息队列使用

0MQ (ZeroMQ) 是一个轻量级消息内核。它实现了30微秒的端到端延迟和每秒超过300万的信息。它可用于C、C++、Python、.NET /Mono、Fortran和Java语言。它运行在AIX , FreeBSD的,基于HP - UX , Linux和MacOS下, OpenBSD系统, OpenVMS , QNX Neutrino, Solaris和Windows操作系统。

memcached(memcached1.4.5)

 

 

搜索  sphinx luncene
图片是fastdfs(类似google的hadoop的dfs)

 

lvs,memcachedb

 

 

Message Queue Servers

Message queue servers are available in various languages, Erlang (RabbitMQ), C (beanstalkd), Ruby (Starling or Sparrow), Scala (Kestrel, Kafka) or Java (ActiveMQ). A short overview can be found here

Sparrow

  • written by Alex MacCaw
  • Sparrow is a lightweight queue written in Ruby that “speaks memcache”

Starling

Kestrel

  • written by Robey Pointer
  • Starling clone written in Scala (a port of Starling from Ruby to Scala)
  • Queues are stored in memory, but logged on disk

RabbitMQ

  • RabbitMQ is a Message Queue Server in Erlang
  • stores jobs in memory (message queue)

Apache ActiveMQ

  • ActiveMQ is an open source message broker in Java

Beanstalkd

Amazon SQS

Kafka

  • Written at LinkedIn in Scala
  • Used by LinkedIn to offload processing of all page and other views
  • Defaults to using persistence, uses OS disk cache for hot data (has higher throughput then any of the above having persistence enabled)
  • Supports both on-line as off-line processing

ZMQ

  • The socket library that acts as a concurrency framework
  • Faster than TCP, for clustered products and supercomputing
  • Carries messages across inproc, IPC, TCP, and multicast
  • Connect N-to-N via fanout, pubsub, pipeline, request-reply
  • Asynch I/O for scalable multicore message-passing apps

 

 

你可能感兴趣的:(SNS)