
通信(长连接&NIO&推送)
文章平均质量分 54
杨步涛的博客
老杨,目前居住上海 微信:yangbt_6225080 qq:306591368 擅长云计算、分布式系统设计、docker容器化技术、海量数据的存储、搜索、数据挖掘。
展开
-
高并发高可用的通信框架实践
通信组件用于业务系统内部服务之间的调用,在大并发的电商平台中,需要满足高并发、高吞吐量、高可用的要求。本篇就针对这些特性要求提出的相关的解决方案。原创 2013-09-28 10:20:16 · 7829 阅读 · 6 评论 -
RabbitMQ Consumer获取消息的两种方式(poll,subscribe)解析
Producer和QueueConsumer和Queue长连接原创 2013-09-01 16:11:15 · 51432 阅读 · 2 评论 -
RabbitMQ和kafka从几个角度简单的对比
业界对于消息的传递有多种方案和产品,本文就比较有代表性的两个MQ(rabbitMQ,kafka)进行阐述和做简单的对比,在应用场景方面,RabbitMQ,遵循AMQP协议,由内在高并发的erlanng语言开发,用在实时的对可靠性要求比较高的消息传递上。kafka是Linkedin于2010年12月份开源的消息发布订阅系统,它主要用于处理活跃的流式数据,大数据量的数据处理上。1)在架原创 2013-04-04 10:17:29 · 26191 阅读 · 0 评论 -
高性能的通讯库-zeroMQ的几个高性能特征
这两天研究了一下zeroMQ,号称史上最好的通讯库,比rabbitMQ快很多,基于c语言开发的,实时流处理sorm的task之间的通信就是用的zeroMQ。zeroMQ在使用模式上支持多种,有req-reply,publish-subscribe,pipe。 下图是zeroMQ的架构图简单说明一下,从上到下依次是网络、zeroMQ、用户的应用,相当于在应用层和网络层加了一个原创 2013-01-15 12:42:16 · 41942 阅读 · 0 评论 -
单线程、事件驱动、异步非阻塞的nginx
nginx(发音"engine x")是俄罗斯软件工程师Igor Sysoev开发的免费开源web服务器软件。nginx于2004年发布,聚焦于高性能,高并发和低内存消耗问题。并且具有多种web服务器功能特性:负载均衡,缓存,访问控制,带宽控制,以及高效整合各种应用的能力,这些特性使nginx很适合于现代网站架构。目前,nginx已经是互联网上第二流行的开源web服务器软件。14.1 为什么高转载 2013-01-15 14:41:48 · 16989 阅读 · 1 评论 -
单线程非阻塞的NodeJS
NodeJS采用单线程非阻塞的架构,好处是少了多线程的开销,发起IO操作后,不阻塞操作,做其他的事情,该线程一直处于忙碌状态(占用CPU),当IO操作完成后,通知该线程(事件通知)。缺点,编程模式复杂,在多核模式下无法利用更多的核。webwoker的提出:一个Nodejs实例,在业务逻辑比较复杂的情况下,该线程成为瓶颈,所以才有webworker,一个Node进程就能很好的原创 2013-01-13 14:15:02 · 4824 阅读 · 0 评论 -
Mina总结
MinaMINA(IO和处理逻辑共用一个线程,对于handler处理逻辑比较复杂耗时长的来说,需要给handler一个单独的线程来处理,也就是io处理线程和handler线程分开,ioservice和ExecutorFilter分开):服务端,1、创建NIOSocketAcceptor2、bind绑定地址端口,启动一个线程Accept线程,轮询是否有新的端口绑定原创 2012-12-17 17:24:52 · 11786 阅读 · 0 评论 -
几种序列化之间的比较Thrift&protocolbuffer&avro
thrift和avro都提供rpc服务和序列化,而protocolbuffer只是提供序列化功能Avro是强调一种高效的序列化,标准性的云计算的数据交换和存储的ProtocolAvro的创新之处在于融合了显式,declarative的Schema和高效二进制的数据表达,强调数据的自我描述,克服了以往单纯XML或二进制系统的缺陷。Avro对Schema动态加载功能,是Thrift编程接口所不转载 2012-12-19 16:37:09 · 10555 阅读 · 1 评论 -
IO模型介绍以及同步异步阻塞非阻塞的区别
先说一下几个单词。阻塞:用户进程访问数据时,如果未完成IO,等待IO操作完成或者进行系统调用来判断IO是否完成非阻塞:用户进程访问数据时,会马上返回一个状态值,无论是否完成同步:用户进程发起IO(就绪判断)后,轮询内核状态异步:用户进程发起IO后,可以做其他事情,等待内核通知 介绍一下IO模型 网络IO模型和文件IO模型是一样的,上图是IO的5种模型,包括阻塞IO、原创 2012-12-30 16:44:17 · 1835 阅读 · 0 评论 -
基于NIO的长连接的实现已开放到github
长连接相对于短链接来讲,可以减少连接的建立和释放的开销,进而提高通信的效率,而长连接最大的问题是对于连接池中连接的维护。原创 2014-01-20 00:19:04 · 15990 阅读 · 2 评论