消息中间件mq*(Kafka)

RabbitMQ和Kafka的区别

Kafka 适合 数据量大 高吞吐量和数据持久化

RabbitMQ  低延迟 灵活路由 多协议支持

就是一个量大 一个速度快

Kafka如果保证数据不丢失

1 通过日志实现异步回调机制  重试机制保证数据不丢失

2 复制机制 设置acks确认

3 禁用自动提价偏移量改为手动提交

Kafka消息的重复消费问题

Kafka消费消息是按照offset进行标记消费的  消费者默认是自动按期提交已经消费的偏移量

但是可以通过禁用自动提价偏移量 改为手动提交 避免消息丢失和重复消费

为了保证消息的幂等性 可以通过数据库加锁 设置唯一主键 redis分布锁

Kafka如何保证消费的顺序性

默认是不能保证顺序性的 因为可能存储在不同的分区 但是可以解决 有两种方法 都是把消息都存储到同一个分区下  但是感觉这么做会影响性能

1 指定分区号

2 相同业务设置相同key  hash值一样的话 分区肯定也一样

Kafka高可用机制

集群

多个broker实例组成集群 即使某一台宕机了  也不耽误其他的broker继续对外提供服务

复制机制

一个topic有多个分区 每个分区有多个副本 其余的是follower 副本存储在不容的broker中 所有的分区副本的内容是相同的  如果leader发生故障时 会自动将其中一个follower提升为leader 从而保证高可用性 提高容错

复制机制的ISR

in-sync replice  同步复制保存follower

还有一种就是异步的

Kafka的数据清理机制

topic的数据存储在分区上 分区如果文件过大的会分段存储segment

每个分段都以 索引和日志文件的形式存储

这样分段的好处 1 减少单个文件内容的大小 查找数据方便 2 方便kafka进行日志清理

清理策略

1 根据消息保留时间 超时触发清理

2 根据topic存储大小

这两个都可以通过kakfa的broker中的配置文件进行设置

Kafka实现高性能设计

Kafka高性能来自 多方面协同的结果  宏观架构 分布式存储 ISR数据同步 高效利用磁盘 操作系统特性

消息分区 不受单服务器的限制 可以不受限的处理更多数据

顺序读写 磁盘读写效率高

页缓存 磁盘中的数据缓存到内存中 把对磁盘的访问变为对内存的访问

零拷贝 减少上下文切换以及数据拷贝

消息压缩 减少磁盘io和网络io

分批发送 将消息打包批量发送 减少网络开销

Unity天翼网盘是中国电信旗下的云存储服务平台,用户可以通过该平台上传、存储和共享各种文件。要下载Unity天翼网盘上的文件,首先需要登录自己的账号。在登录界面输入正确的用户名和密码后,点击登录按钮即可进入个人账号页面。 在个人账号页面上,用户可以浏览所有已经上传或共享给自己的文件。如果用户知道具体要下载的文件名,可以在搜索框中输入关键字进行搜索,或者直接查找文件夹中的文件。点击文件名或者文件夹名进入相应的页面后,用户可以看到文件的详细信息,包括文件大小、上传者、上传时间等等。 要下载文件,用户可以选择两种方式:一是点击文件名后的下载按钮,直接将文件保存到本地;二是点击文件名后的预览按钮,通过在线预览功能来浏览文件内容,然后选择下载按钮进行保存。不同文件类型的预览方式可能有所不同,例如图片可以直接在网页上显示,而文档类文件则可能需要使用相关的应用程序来进行预览。 在下载文件时,需要注意文件的大小和网络状况,以免下载过程中出现问题。如果遇到下载速度较慢或者无法下载的情况,可以尝试切换网络环境或者联系Unity天翼网盘的客服人员进行咨询或解决问题。 总之,Unity天翼网盘下载文件的步骤相对简单,只需要登录账号、浏览文件并选择下载方式即可完成。该平台为用户提供了方便易用的云存储服务,用户可以随时随地获取自己需要的文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值