文档章节

如何设计一个消息队列

请把小熊还给我_m
 请把小熊还给我_m
发布于 02/13 16:03
字数 265
阅读 386
收藏 0

一、支持可伸缩性

可以快速扩容,提高吞吐量和容量。设计一个分布式系统,类似于Kafka   broker -> topic -> partition每个 partition 放一个机器,就存一部分数据;资源不够时,增加partition-->数据迁移-->增加机器

二、落地磁盘

落地磁盘可以保证进程kill时可以寻回丢失的数据,落磁盘时要注意顺序写入,可以避免磁盘寻址开销,提高磁盘io读写性能

三、高可用性

可以参考Kafka的高可用性:多副本 -> leader & follower -> broker 挂了重新选举 leader 即可对外服务。Kafka的高可用

四、支持数据 0 丢失

可以参考Kafka的数据零丢失方案。Kafka的零丢失

© 著作权归作者所有

请把小熊还给我_m
粉丝 22
博文 52
码字总数 69711
作品 0
杭州
私信 提问
加载中

评论(0)

13 | 架构设计流程:详细方案设计

架构设计第 4 步:详细方案设计 关键技术细节给确定下来。 假如我们确定使用 Elasticsearch 来做全文搜索,那么就需要确定 Elasticsearch 的索引是按照业务划分,还是一个大索引就可以了;副...

天赋异禀的柠柠
2018/07/24
0
0
IM开发基础知识补课(五):通俗易懂,正确理解并用好MQ消息队列

1、引言 消息是互联网信息的一种表现形式,是人利用计算机进行信息传递的有效载体,比如即时通讯网坛友最熟悉的即时通讯消息就是其具体的表现形式之一。 消息从发送者到接收者的典型传递方式...

JackJiang2011
2018/09/26
0
0
IM开发基础知识补课(五):通俗易懂,正确理解并用好MQ消息队列

1、引言 消息是互联网信息的一种表现形式,是人利用计算机进行信息传递的有效载体,比如即时通讯网坛友最熟悉的即时通讯消息就是其具体的表现形式之一。 消息从发送者到接收者的典型传递方式...

首席大胸器
2018/09/26
491
0
RabbitMQ(1)-AMQP

1.1 简介 AMQP全称是Advanced MessageQueuing Protocol (高级消息队列协议)。 AMQP是一个应用层的异步消息传递协议,为面向消息的中间件而设计。其目的是通过协议使应用模块之间或应用程序与...

你我他有个梦
2015/12/19
880
0
从设计角度理解Handler通信机制

Handler通信机制大家都很熟悉了,但是我们不应满足于知道如何使用这套机制,本文试图从背后的设计思路着手,更深入地理解Handler的设计原理。 我们将从线程分工、建立通信、添加和处理、处理...

蓝灰_q
2017/11/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何在Javascript数组的开头添加新的数组元素?

问题: I have a need to add or prepend elements at the beginning of an array. 我需要在数组的开头添加或添加元素。 For example, if my array looks like below: 例如,如果我的数组如下...

技术盛宴
19分钟前
11
0
利用Python实现SQL自动化

笔者在工作中经常要使用SQL,其不乏存在恼人的细微差异和种种限制,但说到底,它是数据行业的基石。因此,对于每一位数据领域的工作者,SQL都是不可或缺的。精通SQL意义非凡。 SQL是很不错,...

Python圈子
21分钟前
10
0
UI库

ViewUI (推荐) amazeui layUI

四季变幻
28分钟前
21
0
如何实现RSA签名与验签

md5,sha1,sha256等签名方式相信大家已经都非常熟悉了,今天介绍如何使用RSA进行签名。 RSA签名使用起来其实也是非常的简单,无非就是使用私钥进行签名,使用公钥进行验签。使用方法如下。 ...

专业写BUG的程序员
30分钟前
17
0
我的Spring Cloud(十):Zipkin 服务跟踪

一、概述 为什么要有服务跟踪,分布式系统中有很多个服务在相互调用,调用关系是错综复杂的,如果这时出现了问题,我们在进行问题排查的时候,或者在优化架构的时候,工作量就比较大,这时候...

Zing丶
31分钟前
31
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部