分布式消息服务
文章平均质量分 81
iie_libi
这个作者很懒,什么都没留下…
展开
-
消息队列设计精要
消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发的Notify、MetaQ、RocketMQ等。本文不会一一介绍这些消息队列的所有特性,而是探讨一下自主开发设计一个消息队列时,你转载 2017-02-17 15:13:52 · 928 阅读 · 0 评论 -
常用调度算法集锦
常用调度算法集锦The usual schedule algorithms18 Nov 2014 in Distributed Less than 1 minute read单资源调度算法单资源调度算法针对单一资源的调度,例如OS中CPU时间片的调度;网络中流量的调度等。在调度中,各个算法将有不同的侧重,例如公平性、吞吐量、优于小作业等。单资源调度算法一般转载 2017-05-10 21:34:58 · 4467 阅读 · 0 评论 -
YARN资源调度策略
YARN资源调度策略发表于 2015-04-30 | 公司活动写的一篇文章。这里也发下吧。介绍下YARN中资源调度相关概念和算法。以hadoop 2.2.0为准。YARN虽然是从MapReduce发展而来,但其实更偏底层,它在硬件和计算框架之间提供了一个抽象层,用户可以方便的基于YARN编写自己的分布式计算框架,而不用关心硬件的细节。由此可以看出YARN的核心转载 2017-05-10 21:35:52 · 5036 阅读 · 0 评论 -
面向容器技术资源调度关键技术对比
1资源分配理念看已有调度器在资源调度器中,资源分配理念:拍卖、预算或抢占,往往是混合运用。资源分配理念,折射出了资源调度器所在的生态系统或者说周边配合系统的成熟度、运行习惯。例如,Google从最早的广告拍卖机制起,拍卖的理念在Google内部就形成了一种经验、选择的爱好或者内部的默契,那么资源竞拍被分配出来的结果,大家很容易达成一致、理解。而国内企业,往往是预算驱动,周边系统的运行习惯,更趋转载 2017-05-10 21:37:11 · 2207 阅读 · 0 评论 -
Zeus资源调度系统介绍
摘要: 本文主要概述阿里巴巴Zeus资源调度系统的背景和实现思路。 本文主线:问题、解决方案、依赖基础知识、工程实践、目标、经验分享。立足企业真实问题、常规解决策略,引出依赖的容器技术、实践方案,所有这些落实到工程实践,要解决那些问题、实现哪些目标、技术大趋势的影响。最后给出阿里巴巴的实践经验。本序列文章并不是突出架构上重大突破,毕竟这个领域已经发展了10多年了。而是,实践过程中的一些细节、一些特转载 2017-05-10 21:58:56 · 9464 阅读 · 0 评论 -
unsigned char 与char的区别
char 与 unsigned char的本质区别在C中,默认的基础数据类型均为signed,现在我们以char为例,说明(signed) char与unsigned char之间的区别 首先在内存中,char与unsigned char没有什么不同,都是一个字节,唯一的区别是,char的最高位为符号位,因此char能表示-128~127, unsigned char没有符号位,因转载 2017-04-17 10:13:07 · 432 阅读 · 0 评论 -
高可用保证消息绝对顺序消费的BROKER设计方案
在要求严格顺序消息的场景下,消息的发送者,BROKER端(BROKER端和消息存储放在一起),消息的消费者都要求按照顺序进行,三者任何一个环节的乱序都会导致消息最终的消费顺序被打乱。如果为每一个消息维护一个有序的ID,发送和存储消息无序,消费逻辑会变得非常复杂,消费端要对消息进行重新编排,会影响消费的性能。 为了保证消息发送、保存、消费三个环节都有顺序,就要求在同一个时刻只能有一个同步转载 2017-05-12 14:35:30 · 392 阅读 · 0 评论 -
历经8年双11流量洗礼,淘宝开放平台如何攻克技术难关?
淘宝开放平台(open.taobao.com)是阿里系统与外部系统通讯的最重要平台,每天承载百亿级的API调用,百亿级的消息推送,十亿级的数据同步,经历了8年双11成倍流量增长的洗礼。本文将为您揭开淘宝开放平台的高性能API网关、高可靠消息服务、零漏单数据同步的技术内幕。高性能API网关阿里巴巴内部的数据分布在各个独立的业务系统中,如:商品中心、交易平台、用户中心,各个独立系统间通过HSF转载 2017-05-12 20:48:49 · 993 阅读 · 0 评论 -
分布式高可靠消息中间件-Hippo
前言 随着大数据产品的日渐丰富以及数据应用场景需求的增加,TDBank作为腾讯大数据平台的数据接入环节的位置也越发显得重要(见下图)。截止目前为止TDBank日均接入数据已经超过2W亿条每天(约600TB/天),并且数据量还在持续不断上升。Tube 作为整个数据接入体系的存储层发挥着重要作用。Tube作为一个面向高吞吐高性能的分布式消息中间件,其性能及稳定性在万亿级数据体量下转载 2017-05-12 21:54:05 · 6548 阅读 · 0 评论 -
如何构建一套高可用的移动消息推送平台?
消息推送作为移动 APP 运营中的一项关键技术,已经被越来越广泛的运用。本文追溯了推送技术的发展历史,剖析了其核心原理,并对推送服务的关键技术进行深入剖析,围绕消息推送时产生的服务不稳定性,消息丢失、延迟,接入复杂性,统计缺失等问题,提供了一整套平台级的高可用消息推送解决方案。实践中,借助于该平台,不仅能提能显著提高消息到达率,还能提高研发效率,并道出了移动开发基础设施的平台化架构思路。推送基转载 2017-05-12 22:22:42 · 2304 阅读 · 0 评论 -
LinkedIn的高可用消息系统Kafka应用介绍
Apache Kafka 是一个高度可扩展的消息系统,它在 LinkedIn 的中央数据管道中扮演着十分重要的角色。Kafka 是 LinkedIn 于2010年开发的消息系统,目前每天通过1400个 broker (消息中间件处理结点)处理逾1.4万亿条消息。鉴于其高耐久与低延迟两项优点,我们在 LinkedIn 使用 Kafka 为大量新的关键用例提供支持,包括使用基于 Kafka 的 rep转载 2017-05-12 22:24:15 · 1233 阅读 · 0 评论 -
腾讯云分布式高可靠消息队列CMQ架构
在分布式大行其道的今天,我们在系统内部、平台之间广泛运用消息中间件进行数据交换及解耦。CMQ是腾讯云内部自研基于的高可靠、强一致、可扩展分布式消息队列,在腾讯内部包括微信手机QQ业务红包、腾讯话费充值、广告订单等都有广泛使用。目前已上线腾讯云对外开放,本文对腾讯云CMQ 核心技术原理进行分享介绍。CMQ消息队列主要适用于金融、交易、订单等对可靠性、可用性有较高要求的业务场景。以腾讯充值系统转载 2017-05-12 21:56:32 · 2109 阅读 · 0 评论 -
kafka数据可靠性深度解读
Kafka起初是由LinkedIn公司开发的一个分布式的消息系统,后成为Apache的一部分,它使用Scala编写,以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark等都支持与Kafka集成。1 概述Kafka与传统消息系统相比,有以下不同:它被设计为一个分布式系统,易于向外扩展;它同时为转载 2017-05-12 22:33:05 · 674 阅读 · 0 评论 -
几款消息中间的调研
消息队列调研消息系统简介本次主要调研业界使用广泛的两款消息队列——RabbitMQ, Kafka, 以及阿里云的提供的两个服务, MNS和ONS.RabbitMQRabbitMQ 是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正因如此,它非常重量级,更适合于企业级的开发。同时实现了Broker构架,这转载 2017-05-12 22:35:24 · 367 阅读 · 0 评论 -
分布式事务 ACID CAP BASE
原文:http://in355hz.iteye.com/blog/2041976 分布式事物 ACID CAP BASECAP 定理有一个缺陷,这个缺陷可以帮助我们“部分”摆脱 分布式困境。 总的来说,CAP 定理本身是完备的,但它并没有描述一个分布式系统何时产生分区,以及分区会持续多长时间。理论其实只限制:在分区发生的 一瞬间,系统只能在一致性(C)和可用性(A)之间二选一。转载 2017-03-02 16:17:51 · 333 阅读 · 0 评论 -
存储系统
存储系统从其与生俱来的使命来说,就难以摆脱复杂系统的魔咒。无论是从单机时代的文件系统,还是后来C/S或B/S结构下数据库这样的存储中间件兴起,还是如今炙手可热的云存储服务来说,存储都很复杂,而且是越来越复杂。存储为什么会复杂,要从什么是存储谈起。存储这个词非常平凡,存储 + 计算(操作)就构成了一个朴素的计算机模型。简单来说,存储就是负责维持计算系统的状态的单元。从维持状态的角度,我们会有最朴转载 2017-05-27 20:11:11 · 341 阅读 · 0 评论 -
专访RocketMQ联合创始人:项目思路、技术细节和未来规划
编者按这些年开源氛围越来越好,各大IT公司都纷纷将一些自研代码开源出来。2012年,阿里巴巴开源其自研的第三代分布式消息中间件——RocketMQ。经过几年的技术打磨,阿里称基于RocketMQ技术,目前双十一当天消息容量可达到万亿级。2016年11月,阿里将RocketMQ捐献给Apache软件基金会,正式成为孵化项目。阿里称会将其打造成顶级项目。这是阿里迈出的一大步,因为加入到开源软件转载 2017-05-02 14:53:53 · 1697 阅读 · 0 评论 -
RocketMQ 迈入50万TPS消息俱乐部的优化工作
前言消息团队一直致力于RocketMQ的性能优化,双十一前进行了低延时(毛刺)优化,保障了双十一万亿消息的流转如丝般顺滑,在2016年双十一种,MetaQ以接近万亿的消息总量支撑着全集团数千个应用,在系统解耦、削峰填谷、数据库同步、位点回滚消费等多种业务场景中,MetaQ都有精彩、稳定的表现。高可用低延迟,高并发抗堆积,2016双11的MetaQ真正做到了如丝般顺滑。而最近通过对性能的持续转载 2017-05-02 14:53:19 · 5306 阅读 · 1 评论 -
分布式消息队列模型 实战
介绍作为一种基础的抽象数据结构,队列被广泛应用在各类编程中。大数据时代对跨进程、跨机器的通讯提出了更高的要求,和以往相比,分布式队列编程的运用几乎已无处不在。但是,这种常见的基础性的事物往往容易被忽视,使用者往往会忽视两点:使用分布式队列的时候,没有意识到它是队列。有具体需求的时候,忘记了分布式队列的存在。文章首先从最基础的需求出发,详细剖析分布式队列编程模型的需求来源、定转载 2017-02-17 15:23:24 · 2464 阅读 · 0 评论 -
分布式队列编程优化
前言“分布式队列编程”是一个系列文,之前我们已经发布了《分布式队列编程模型、实战》,主要剖析了分布式队列编程模型的需求来源、定义、结构以及其变化多样性;根据作者在新美大实际工作经验,给出了队列式编程在分布式环境下的一些具体应用。本文将重点阐述工程师运用分布式队列编程构架的时候,在生产者、分布式队列以及消费者这三个环节的注意点以及优化建议。确定采用分布式队列编程模型之后,主体架构就算转载 2017-02-17 15:24:26 · 326 阅读 · 0 评论 -
Disruptor高性能队列设计
背景Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于Disruptor开发的系统单线程能支撑每秒600万订单,2010年在QCon演讲后,获得了业界关注。2011年,企业应用软件专家Martin Fowler专门撰写长文介绍。同年它还获得了Oracle官方的Duke大奖。目转载 2017-02-17 16:05:40 · 2334 阅读 · 0 评论 -
rdkafka客户端代码中的getopt
阅读kafka的c++ api rdkafka时,遇到getopt函数,不是很了解,以前都是自己处理argc argv的,于是学习了一下,转载了大神们的博客。另外真心觉得java的API比c++的API简单一万倍啊,,,怎么有种要转行的冲动,都别拦我。。。。。。 getopt被用来解析命令行选项参数。就不用自己写东东处理argv了。#include extern转载 2017-02-27 10:43:27 · 267 阅读 · 0 评论 -
kafka c c++客户端解析
文章源地址:https://github.com/edenhill/librdkafka/blob/master/INTRODUCTION.mdlibrdkafka 是Apache Kafka 客户端C语言的高性能实现, 能够提供可靠并且表现优秀的客户端,同时它也提供比较初级的C++界面。Contents本文主要包含以下章节:一、性能转载 2017-02-26 21:07:37 · 3773 阅读 · 0 评论 -
kafka视频观看小结
消息队列有2种:点对点和发布订阅模式,现在点对点的模式已经不多了,毕竟一个消息可能有多个消费者,所以发布订阅的模式是有需求的,kafka就是发布订阅的模式,但是如果一个消息只有一个消费者,也可以说是一种伪点对点模式,为什么是伪呢?因为即使没有消费者订阅,消息也不会消失,即使有一个消费者,消费者完成了消费,该消息也不会消失。消息持久化,保证了安全,但是IO操作会损失一些性能,如何使性能的损失最小化呢原创 2017-02-28 10:25:39 · 831 阅读 · 0 评论 -
kafka的传递机制与语义保障
The consumer: kafka的消费者通过向broker发送“fetch”请求获取他要消费的partition的信息。消费者在每个请求中标记他已经消费到的offset值,broker将以该offset作为起始位置的a chunk of log即一批消息返回给consumer。可见消费者自己维护消费状态,broker是无状态的,如有需要可重复消费。Push vs Pull转载 2017-02-28 20:32:35 · 838 阅读 · 0 评论 -
kafka高效之一:文件系统
kafka关键特⾊• 可伸缩架构• 高吞吐量• consumer自动负载均衡• 支持集群多副本而本博客是一个kafka文件系统深入过程。存储结构 目的:提高磁盘利用率和消息处理性能。1. 在kafka文件系统中,同一个topic下有多个不同partition,每个partition创建一个目录。即topic下有分区的子目录。2. 每个partion相当于一个巨型原创 2017-02-25 20:41:02 · 614 阅读 · 0 评论 -
redis与rabbitmq
本文仅针对RabbitMQ与Redis做队列应用时的情况进行对比具体采用什么方式实现,还需要取决于系统的实际需求简要介绍 RabbitMQRabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦转载 2017-02-23 21:45:06 · 393 阅读 · 0 评论 -
RocketMQ的技术特色
2016年底已捐赠给Apache软件基金会,阿里巴巴开源其自研的第三代分布式消息中间件——RocketMQ在项目思路、技术细节以及未来规划上都有哪些可以供业界参考的经验?为此,InfoQ特意采访了RocketMQ的两位联合创始人。编者按2012年,阿里巴巴开源其自研的第三代分布式消息中间件——RocketMQ。经过几年的技术打磨,使用RocketMQ技术的阿里目前可以在双十一当天承受万亿级消息转载 2017-02-24 09:52:12 · 688 阅读 · 0 评论 -
rocketMQ原理与实战
原文链接:http://www.jianshu.com/p/453c6e7ff81c备注:1.如果您此前未接触过RocketMQ,请先阅读附录部分,以便了解RocketMQ的整体架构和相关术语2.文中的MQServer与Broker表示同一概念分布式消息系统作为实现分布式系统可扩展、可伸缩性的关键组件,需要具有高吞吐量、高可用等特点。而谈到消息系统的设计,就回避不了两个转载 2017-01-08 19:44:49 · 8087 阅读 · 1 评论 -
关于消息队列的使用
原文链接:http://www.cnblogs.com/chenpingzhao/p/5262050.html一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题实现高性能,高可用,可伸缩和最终一致性架构使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ二、消息队转载 2017-02-25 16:43:18 · 280 阅读 · 0 评论 -
kafka入门官方文档
一、入门. .............................................................................................11、简介. ............................................................................................翻译 2017-02-25 21:57:56 · 240 阅读 · 0 评论 -
RocketMQ的原理与实践
分布式消息系统作为实现分布式系统可扩展、可伸缩性的关键组件,需要具有高吞吐量、高可用等特点。而谈到消息系统的设计,就回避不了两个问题:消息的顺序问题消息的重复问题RocketMQ作为阿里开源的一款高性能、高吞吐量的消息中间件,它是怎样来解决这两个问题的?RocketMQ 有哪些关键特性?其实现原理是怎样的?关键特性以及其实现原理一、顺序消息消息有序指的是可以按照消息的发送顺序来消费。例如:一笔订单转载 2017-02-26 15:02:27 · 226 阅读 · 0 评论 -
借鉴rocketmq
RocketMQ调研P2P模式?rocketMQ说的p2p是点对点的意思,是消息队列的一种模式,和我们说的p2p协议没有什么关系。消息队列有两种模式,rocketmq都支持。① 基于queue的一对一的模式:一个消息只有一个真正的消费者,因为消息取走了之后,消息就不会在broker存在了② 基于topic的发布/订阅模式:一个消息有多个消费者,消息会一直持久化在broker中,原创 2017-01-09 15:38:53 · 2209 阅读 · 0 评论 -
rocketmq原理:name server ,broker, producer, consumer之间通信
原文链接:http://www.cnblogs.com/xiaodf/p/5075167.html参考链接:rocketmq与kafkahttp://blog.csdn.net/chunlongyu/article/category/6638499简介官方简介:l RocketMQ是一款分布式、队列模型的消息中间件,具有以下特点:l 能够保证严格的消息顺序l转载 2017-01-08 20:20:10 · 14682 阅读 · 2 评论 -
解密阿里巴巴“异地多活”技术
原文链接:http://servers.pconline.com.cn/721/7215376.html编者按:11月16日,阿里“双十一”技术分享会上,阿里巴巴技术保障部研究员林昊详细解析了“异地多活”技术。相较于目前主流的“两地三中心”,该技术实现了质的飞跃。笔者对此的理解是,“提供‘丝般柔顺’的用户体验”,即用户在天猫、淘宝等阿里平台上的任何操作都流畅自如。而更为深入的技术剖析,请参阅以转载 2017-05-19 17:05:46 · 756 阅读 · 0 评论