讲上消息队列kafka架构与原理海量资源.pdfVIP

讲上消息队列kafka架构与原理海量资源.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

本文由简悦SimpRead转码,原文地址

本主要讲解消息队列与数据库相关的知识,重点讲解三部分知识点:

1.Kafka的架构与消息交互流程;

2.数据库事务的4大特性和分类;

3.MySQL相关的内容,比如索引、MySQL调优等。

消息队列与数据库知识点

先来看看相关知识点汇总,如下图。首先为了防止歧义进行说明,本中提到的“队列“就是指“消息

队列“。

消息队列

来看消息队列的应用场景,也就是队列能解决哪些问题。

队列可以对应用进行解耦合,应用之间不用直接调用。

可以通过队列来传递消息,完成通信。

队列也可以用来执行异步任务,任务提交方无需等待结果。

消息队列一般还提供了一写多读的能力,可以用来做消息的多播与广播。

关于队列还需要知道两个主要的消息协议。

JMS是Java的消息服务,规定了Java使用消息服务的API,面Spring的提到过,

Spring提供了支持JMS的组件。

AMQP是高级消息队列协议,是应用层协议的一个开放标准,AMQP不从API层进行限定,而是

直接定义网络交换的数据格式,因此支持跨语言的能力,例如RabbitMQ就使用了AMQP实现。

再来对比几个常用的消息队列。

RabbitMQ

使用Erlang开发的开源消息队列,通过Erlang的Actor模型实现了数据的稳定可靠传输。支持

AMQP、XMPP、SMTP等多种协议,因此也比较重量级。由于采用Broker架构,发送给客户端时

先在队列排队,疑似RabbitMQ的单机吞吐量在万级,不算很高。

ActiveMQ

可以部署于模式和P2P模式,支持多种协议,单机吞吐量在万级,但是ActiveMQ不够轻巧,对于

队列较多的情况支持不是很好。并且有较低概率丢失消息。

MQ

阿里开源的消息中间件,单机能够支持10w级的吞吐量,使用Java开发,具有高吞吐量、高可用性的

特点、适合在大规模分布式系统中应用。

Kafka

由Scala开发的高性能跨语言分布式消息队列,单机吞吐量可以到达10w级,消息延迟在ms级。

Kafka是完全的分布式系统,Broker、Producer、Consumer都原生自动支持分布式,依赖于

ZooKeeper做分布式协调。Kafka支持一写多读,消息可以被多个客户端消费,消息有可能会重复,但

是不会丢失。本后面会对Kafka的架构进行详细介绍。

数据库中间件

数据库中间件一般提供了读写分离、数据库水平扩展的能力。下面主要介绍两个中间件。

一是Sharding-Sphere,它是一个开源的分布式数据库中间件解决方案,由Sharding-JDBC、

等各种多样化的应用场景。目前Sharding-Sphere已经进入Apache孵化,发展速度很快,可以重点关

注。

二是Mycat,它也提供了分库分表等能力,Mycat基于模式,后端可以支持MySQL、

Oracle、DB2等不同数据库实现,不过方式对性能会有一定影响。

其他还有一些数据库中间件例如Vitess等,使用不算广泛,了解即可。

数据库

对于数据库相关知识点,首先需要知道不同类型的数据库。

关系型数据库

常用的关系型数据库主要是Oracle和MySQL。Oracle功能强大,主要缺点就是贵。MySQL是互联网

行业中最流行的数据库,这不仅仅是因为MySQL免费,可以说关系数据库场景中你需要的功能,

MyS

您可能关注的文档

文档评论(0)

kay5620 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8001056127000014

1亿VIP精品文档

相关文档