消息中间件对比分析

《矩阵论》学习笔记(四):4.2 矩阵的QR分解 《矩阵论》学习笔记(四):4.2 矩阵的QR分解 文章目录《矩阵论》学习笔记(四):4.2 矩阵的QR分解一. Givens矩阵与Givens变换1.1. 概念与理解1.2. Givens矩阵求解方法二. Householder矩阵与Householder变换2.1. 概念与理解2.2. Householder矩阵求解方法2.3. Givens变换与Householder变换的关系三. 矩阵的QR... 阅读详情

📕我是廖志伟,一名Java开发工程师、《Java项目实战——深入理解大型互联网企业通用技术》(基础篇)、(进阶篇)、(架构篇)清华大学出版社签约作家、Java领域优质创作者、优快云博客专家、阿里云专家博主、51CTO专家博主、产品软文专业写手、技术文章评审老师、技术类问卷调查设计师、幕后大佬社区创始人、开源项目贡献者。

📘拥有多年一线研发和团队管理经验,研究过主流框架的底层源码(Spring、SpringBoot、SpringMVC、SpringCloud、Mybatis、Dubbo、Zookeeper),消息中间件底层架构原理(RabbitMQ、RocketMQ、Kafka)、Redis缓存、MySQL关系型数据库、 ElasticSearch全文搜索、MongoDB非关系型数据库、Apache ShardingSphere分库分表读写分离、设计模式、领域驱动DDD、Kubernetes容器编排等。不定期分享高并发、高可用、高性能、微服务、分布式、海量数据、性能调优、云原生、项目管理、产品思维、技术选型、架构设计、求职面试、副业思维、个人成长等内容。

Java程序员廖志伟

🌾阅读前,快速浏览目录和章节概览可帮助了解文章结构、内容和作者的重点。了解自己希望从中获得什么样的知识或经验是非常重要的。建议在阅读时做笔记、思考问题、自我提问,以加深理解和吸收知识。阅读结束后,反思和总结所学内容,并尝试应用到现实中,有助于深化理解和应用知识。与朋友或同事分享所读内容,讨论细节并获得反馈,也有助于加深对知识的理解和吸收。💡在这个美好的时刻,笔者不再啰嗦废话,现在毫不拖延地进入文章所要讨论的主题。接下来,我将为大家呈现正文内容。

优快云

【一、RabbitMQ知识体系】

  1. 消息模型

RabbitMQ作为AMQP协议的实现之一,其消息模型设计旨在提供高可靠性、灵活性和可扩展性。在RabbitMQ中,消息的生产、传递、存储和消费是通过以下组件实现的:

(1)生产者(Producer):生产者在发送消息时,需要指定消息内容、路由键和消息属性。RabbitMQ使用序列化机制将消息对象转换为字节流,以便在网络上传输。

(2)交换器(Exchange):交换器是消息路由的中心,它根据生产者指定的路由键和自身的类型来决定消息的去向。直连交换器(Direct Exchange)通过精确匹配路由键将消息发送到绑定队列;扇形交换器(Fanout Exchange)则将消息广播到所有绑定队列;主题交换器(Topic Exchange)通过正则表达式匹配路由键,将消息发送到符合模式的队列。

(3)队列(Queue):队列是存储消息的容器。消息被发送到队列后,只有在队列中等待的消费者消费了消息,或者消息超时未被消费时,队列才会释放空间。

(4)绑定(Binding):绑定是交换器与队列之间的连接,它定义了交换器将消息发送到哪个队列,以及如何根据路由键匹配消息。

  1. 消息传递

(1)消息确认机制:RabbitMQ使用消息确认(ACK)机制来确保消息的可靠传递。消费者在消费消息后,必须发送ACK信号给RabbitMQ,表明消息已被成功处理。如果消费者无法处理消息,它可以发送NACK信号或者拒绝消息,这时RabbitMQ会将消息重新入队。

(2)事务消息:事务确保了消息从生产到消费过程中的原子性。RabbitMQ提供了事务API,使得消息的生产、确认和回滚过程可以被事务控制。

(3)死信队列(Dead Letter Queue,DLQ):死信队列用于接收无法正常处理的消息,如超时消息、拒绝消息和不可路由消息。通过监控和分析DLQ中的消息,可以排查系统中的问题。

  1. 集群架构

(1)镜像队列:镜像队列通过复制消息到多个节点,实现了高可用性。当某个节点故障时,其他节点可以接管其工作,确保消息不丢失。

(2)联邦插件:联邦插件允许跨多个RabbitMQ集群分发消息,使得不同集群之间的消息可以互相传递。

(3)集群节点类型:RabbitMQ集群中的节点可以分为管理节点、工作节点和备用节点。管理节点负责集群管理任务,工作节点处理消息,备用节点提供冗余。

  1. 高级特性

(1)TTL消息:TTL(Time To Live)设置消息的存活时间,超过TTL的消息将被自动删除,这有助于清理过期消息。

(2)优先级队列:RabbitMQ允许为消息设置优先级,高优先级消息在队列中优先被消费。

(3)RPC模式:RabbitMQ支持RPC模式,客户端可以通过发送消息来调用服务端的方法,并接收响应。

【二、RocketMQ知识体系】

  1. 消息类型

(1)定时消息:RocketMQ支持定时消息,允许用户指定消息的发送时间,实现定时任务。

(2)事务消息:事务消息通过两阶段提交确保消息的可靠传递,即使在消费过程中发生异常,也能保证消息的一致性。

(3)延迟消息:延迟消息允许用户指定消息的延迟时间,实现延时任务。

  1. 存储机制

(1)CommitLog设计:RocketMQ的CommitLog采用顺序写的方式,将消息直接写入磁盘,确保写入效率。

(2)消息索引:RocketMQ为每条消息生成索引,包括消息的Key、Tag、时间戳等,方便快速查找。

(3)刷盘策略:RocketMQ采用双缓冲机制,先写入内存中的CommitLog,然后定时刷盘到磁盘,确保数据安全。

  1. 高可用设计

(1)主从同步:RocketMQ通过主从同步机制保证数据的一致性,主节点故障时,从节点可以快速接管。

(2)Dledger选举:Dledger选举机制允许RocketMQ集群在主节点故障时自动选举新的主节点。

(3)故障转移:RocketMQ支持故障转移机制,当节点故障时,其他节点可以接管其任务,保证服务的连续性。

  1. 扩展功能

(1)消息轨迹:RocketMQ支持查询消息的发送、消费和传输过程,帮助用户追踪消息的流转。

(2)ACL控制:RocketMQ支持消息的访问控制列表(ACL),限制对消息的访问,防止未授权访问。

(3)多副本机制:RocketMQ支持消息的多副本存储,提高数据可靠性。

【三、Kafka知识体系】

  1. 核心组件

(1)生产者(Producer):生产者负责将消息发送到Kafka集群。Kafka提供多种生产者配置,如分区策略、消息压缩等。

(2)消费者(Consumer):消费者从Kafka集群中消费消息。Kafka允许消费者组成消费者组,共同消费主题中的消息。

(3)主题(Topic):主题是Kafka中的消息分类,一个主题可以包含多个分区。

(4)分区(Partition):分区是主题的一个逻辑分区,用于存储消息。

(5)副本(Replica):副本是分区的物理备份,用于实现高可用性和容错。

  1. 流处理

(1)生产者分区策略:Kafka提供多种分区策略,如随机分区、轮询分区等,确保消息均匀分布。

(2)消费者组机制:消费者组允许多个消费者实例共同消费一个主题的消息,提高消费效率。

(3)ISR集合:ISR(In-Sync Replicas)集合是指副本集合中所有副本都处于同步状态,保证了数据的一致性。

  1. 运维监控

(1)副本同步机制:Kafka通过副本同步机制保证数据的一致性,确保所有副本的数据相同。

(2)日志清理策略:Kafka支持日志清理策略,如压缩、删除等,优化存储空间。

(3)JMX指标:Kafka提供JMX指标,方便监控集群状态,及时发现和处理问题。

  1. 生态集成

(1)Connect连接器:Kafka Connect允许连接外部系统,如数据库、JMS等,实现数据同步。

(2)Schema Registry:Kafka Schema Registry支持消息的元数据管理,如数据类型、版本等。

(3)KSQL引擎:KSQL是Kafka的SQL引擎,允许用户使用SQL查询Kafka中的数据。

总结:

RabbitMQ、RocketMQ和Kafka都是高性能的消息中间件,它们在消息模型、消息传递、集群架构和高级特性等方面各有特点。在实际应用中,可以根据具体需求和场景选择合适的消息中间件。以下是三者的对比:

  1. 消息模型:RabbitMQ采用AMQP协议,RocketMQ和Kafka采用自己的协议。

  2. 消息传递:RabbitMQ支持消息确认机制、事务消息和死信队列;RocketMQ支持定时消息、事务消息和延迟消息;Kafka支持消息确认机制、事务消息和副本同步机制。

  3. 集群架构:RabbitMQ支持镜像队列、联邦插件和集群节点类型;RocketMQ支持主从同步、Dledger选举和故障转移;Kafka支持副本同步机制、日志清理策略和JMX指标。

  4. 高级特性:RabbitMQ支持TTL消息、优先级队列和RPC模式;RocketMQ支持消息轨迹、ACL控制和多副本机制;Kafka支持Connect连接器、Schema Registry和KSQL引擎。

在实际应用中,可以根据具体需求和场景选择合适的消息中间件,充分发挥其优势。

优快云

📥博主的人生感悟和目标

Java程序员廖志伟

希望各位读者大大多多支持用心写文章的博主,现在时代变了,信息爆炸,酒香也怕巷子深,博主真的需要大家的帮助才能在这片海洋中继续发光发热,所以,赶紧动动你的小手,点波关注❤️,点波赞👍,点波收藏⭐,甚至点波评论✍️,都是对博主最好的支持和鼓励!

- 💂 博客主页: Java程序员廖志伟
- 👉 开源项目: Java程序员廖志伟
- 🌥 哔哩哔哩: Java程序员廖志伟
- 🎏 个人社区: Java程序员廖志伟
- 🔖 个人微信号: SeniorRD

Java程序员廖志伟

📙经过多年在优快云创作上千篇文章的经验积累,我已经拥有了不错的写作技巧。同时,我还与清华大学出版社签下了四本书籍的合约,并将陆续出版。这些书籍包括了基础篇、进阶篇、架构篇的📌《Java项目实战—深入理解大型互联网企业通用技术》📌,以及📚《解密程序员的思维密码--沟通、演讲、思考的实践》📚。具体出版计划会根据实际情况进行调整,希望各位读者朋友能够多多支持!

🔔如果您需要转载或者搬运这篇文章的话,非常欢迎您私信我哦~

实战神器指标解析 篇四:主力吸筹指标及其分析和使用说明 主力可能会进行多次吸筹,因此需要根据黄色趋势线来判断是否有转强的变化。一旦出现转强的迹象,这通常意味着吸筹已经接近尾声,即将进入拉升前期。此时可以介入进行建仓。该股票指标通过分析价格变动的方式,能够精确跟踪并标识主力的吸筹行为。当底部出现多根洋红色柱子时,这通常表示出现了主力吸筹的指示。这段代码主要用于分析股票的底部吸筹情况、趋势和涨跌情况。 阅读详情

相关推荐

.NET适配HarmonyOS进展 1. 前言

目前国产化系统浪潮下,适配鸿蒙是中国软件大势所趋,.NET作为最适合开发客户端语言之一,适配鸿蒙系统(HarmonyOS Next)是目前.NET开发者最关心的事情。我目前业余时间正在移植Avalonia到HarmonyOS,去年在.NET Conf CN上分享过,目前又取得一点进展,所以本文把所有问题进行整合与大家进行分享。

2301_76476890的博客 1461

各个消息中间件的对比

1、解耦合:多应用间通过消息队列对同一消息进行处理,避免调用接口失败导致整个过程失败;2、异步处理:多应用对消息队列中同一消息进行处理,应用间并发处理消息,相比串行处理,减少处理时间;3、流量削锋:广泛应用于秒杀或抢购活动中,避免流量过大导致应用系统挂掉的情况;系统分为消息队列、消息生产者、消息消费者,生产者负责产生消息,消费者(可能有多个)负责对消息进行处理;当前使用较多的消息队列有RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMq等,而部分数据库如Redis、M

m0_37967990的博客 1529

clumsy一款模拟弱网的工具

利用封装 Winodws Filtering Platform 的WinDivert 库, clumsy 能实时的将系统接收和发出的网络数据包拦截下来,人工的造成延迟,掉包和篡改操作后再进行发送。无论你是要重现网络异常造成的程序错误,还是评估你的应用程序在不良网络状况下的表现,clumsy 都能让你在不需要额外添加代码的情况下,在系统层次帮你达到想要的效果。

klb5555的专栏 2553

消息中间件(MQ)对比:RabbitMQ、Kafka、ActiveMQ 和 RocketMQ

在构建分布式系统时,选择适合的消息中间件是至关重要的决策。RabbitMQ、Kafka、ActiveMQ 和 RocketMQ 是当前流行的消息中间件之一,它们各自具有独特的特点和适用场景。本文将对这四种消息中间件进行综合比较,帮助您在项目中作出明智的选择。

. 2535

CKEditor5富文本编辑器 - 视频引入、预览及自定义toolbar

文章目录定义遇到的问题视频部分引入媒体url失败原因解决方法:自定义视频provider视频预览及页面不显示视频问题解决方案:H5 \标签如何移除toolbar中的部分插件 一个小后端很少接触前端框架,只能在知识的海洋中漂泊。。。 定义 <script src="https://cdn.ckeditor.com/ckeditor5/16.0.0/classic/ckeditor.js"&gt...

huhui806的博客 8198

Linux SMP系统多核启动机制详解

对称多处理(SMP)是现代操作系统支持多核并行计算的基础架构。其核心原理是通过引导处理器(BSP)初始化系统环境后,通过处理器间中断(IPI)机制唤醒应用处理器(AP)。在x86架构中,AP启动时处于实模式,需要特殊的trampoline代码完成保护模式切换和分页设置。这种设计既保证了系统初始化的正确性,又实现了多核并行处理的性能优势。理解SMP启动流程对优化系统启动速度和调试多核问题至关重要,特别是在云计算和嵌入式系统中,高效的SMP初始化能显著提升系统响应能力。本文以Linux内核为例,深入解析了从BS

weixin_35006125的博客 291

消息队列各个中间件的对比

上文简单讲述了何为消息队列和消息队列的特点(优点),本文为大家介绍一下各个消息中间件的特点和差距,主要对比的消息中间件有RabbitMQ、ActiveMQ、RocketMQ、Kafka。RabbitMQ是一款使用Erlang语言开发的,实现AMQP(高级消息队列协议)的开源消息中间件。Broker:消息队列服务进程。此进程包括两个部分:Exchange和Queue。Exchange:消息队列交换机。按一定的规则将消息路由转发到某个队列。Queue:消息队列,存储消息的队列。

xiaodaidai的博客 2035

gmsv源代码c语言,石器时代ABLua的原理、简介、过程、运用、收发

操作原理(一)服务端:服务器源文件客户端:客户所操作的程序(既是游戏客户端)接口:既是某项功能(例如:鼠标点击,文字发送,战斗,观战,人物动作等)返回的值ABlua:在源代码中添加的整套引擎作为回调接口--lua所实现的功能是基于服务端源码添加的接口由该接口与客户端发送封包实现功能源码里是否有ABlua回调接口?例如:源码里的gmsv/battle.c文件(既是战斗回调文件)以下为简单描述C给予l...

weixin_35223575的博客 2411

消息中间件对比

你有大量的事件(10万以上/秒)、你需要以分区的,顺序的,至少传递成功一次到混杂了在线和打包消费的消费者、你希望能重读消息、你能接受目前是有限的节点级别高可用或则说你并不介意通过论坛/IRC工具得到还在幼儿阶段的软件的支持。kafka遵从一般的MQ结构,producer,broker,consumer,以consumer为中心,消息的消费信息保存的客户端consumer上,consumer根据消费的点,从broker上批量pull数据;但是他们对消息语义模型的定义的假设是非常不同的。

weixin_57763462的博客 810

更换光猫的原理与方法

当你给装维打电话说你需要更换光猫时,对于装维来说,他并不需要知道怎么更换,他只需要生成一张工单,由后台进行业务操作后,在去用户家把新光猫给装好即可,此时装维到底起到了什么作用呢?我想可能只是运输员吧,把一个设备从一个地方运到另一个地方罢了,此时并不能指望装维做什么,因为本质上来说装维的能力真的很差很差,我是不知道那些装维哪来的勇气做视频,还说自己什么什么能力很强?很强吗?吹牛的技术确实很强。 更换光猫之前,需要先明白为什么要更换光猫,怎么更换光猫,更换后不能用怎么办?怎么才能更换成功,换光猫以后被限速了怎么

qq_34146290的博客 1万+

10年上位机开发踩过的20个坑:C#通信/线程/UI适配避坑指南

通信层:所有通信操作异步化、异常全覆盖,加断线重连+心跳检测,多设备隔离资源;线程层:UI更新必做跨线程判断,共享数据加锁,线程池限流,异常不静默;UI层:适配高分屏/DPI,用布局容器替代固定坐标,多屏场景绑定主屏幕。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 904

常见消息中间件大 PK

文章目录1. 几种协议1.1 JMS1.1.1 JMS 介绍1.1.2 JMS 模型1.1.3 JMS 实现1.2 AMQP1.2.1 AMQP 简介1.2.2 AMQP 实现1.3 MQTT1.4 XMPP1.5 JMS Vs AMQP2. 重要产品2.1 ActiveMQ2.2 RabbitMQ2.3 RocketMQ2.4 Kafka2.5 ZeroMQ2.6 其他3. 比较 说到消息中间件,估计大伙多多少少都能讲出来一些,ActiveMQ、RabbitMQ、RocketMQ、Kafka 等等各种以及

江南一点雨的专栏 5397

使用Google Earth Engine(GEE)的Python API,您可以将经纬度坐标转换为Landsat影像的路径/行号

使用Google Earth Engine(GEE)的Python API,您可以将经纬度坐标转换为Landsat影像的路径/行号。在这个示例中,我们选择了一个位于加利福尼亚州旧金山市附近的点,其经度为-122.084,纬度为37.421998。首先,我们需要导入必要的库和模块。接下来,我们定义一个函数,该函数将接收经度和纬度作为输入,并返回对应的Landsat路径/行号。最后,我们提取路径和行号的值,并将它们作为结果返回。现在,我们可以使用这个函数来获取特定点的Landsat路径/行号。

VwajAlgorithm的博客 350

后端开发:Kafka 与消息中间件的对比分析

在后端开发的世界里,数据就像一群忙碌奔跑的“小火车”,需要有序地在不同的“站点”(系统组件)之间传递。消息中间件就像是指挥这些“小火车”的“交通枢纽”,而 Kafka 是其中非常特别的一个“枢纽”。本文的目的就是仔细对比 Kafka 和其他消息中间件,看看它们在功能、性能等方面有哪些不同,帮助后端开发者选择最适合自己项目的“交通枢纽”。范围涵盖常见的消息中间件如 RabbitMQ、ActiveMQ 等与 Kafka 的全方位对比。

架构师的AI之路,分享AI应用开发架构的学习与实践。 1057

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

消息中间件选型分析从Kafka与RabbitMQ的对比来看全局

原 消息中间件选型分析——从Kafka与RabbitMQ的对比来看全局https://blog.youkuaiyun.com/u013256816/article/details/79838428版权声明:本文为博主原创文章,未经博主朱小厮允许不得转载。 https://blog.youkuaiyun.com/u013256816/article/details/79838428 本文收录于InfoQ,未经允许不得转载。...

长亭路 275

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

消息中间件选型分析:从 Kafka 与 RabbitMQ 对比

消息队列中间件(简称消息中间件)是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下提供应用解耦、弹性伸缩、冗余存储、流量削峰、异步通信、数据同步等等功能,其作为分布式系统架构中的一个重要组件,有着举足轻重的地位。目前开源的消息中间件可谓是琳琅满目,能让大家耳熟能详的就有很多,比如等。不管选择其中的哪一款,都会有用的不趁手的地方,毕竟不是为你量身定制的。

. 3455

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【十一】消息中间件选型分析——从Kafka与RabbitMQ的对比来看全局

转载:消息中间件选型分析——从Kafka与RabbitMQ的对比来看全局 一、前言 消息队列中间件(简称消息中间件)是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下提供应用解耦、弹性伸缩、冗余存储、流量削峰、异步通信、数据同步等等功能,其作为分布式系统架构中的一个重要组件,有着举足轻重的地位。 目前开源的消息中间件可谓是琳琅满目,能让大家耳熟能详的就有很多,比如ActiveMQ、RabbitMQ、Kafk

Sid小杰的博客 295

消息中间件选型分析:从Kafka与RabbitMQ的对比看全局

一、前言 消息队列中间件(简称消息中间件)是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下提供应用解耦、弹性伸缩、冗余存储、流量削峰、异步通信、数据同步等等功能,其作为分布式系统架构中的一个重要组件,有着举足轻重的地位。 目前开源的消息中间件可谓是琳琅满目,能让大家耳熟能详的就有很多,比如 A...

谷子 812

消息中间件选型分析——从Kafka与RabbitMQ的对比来看全局

消息中间件选型分析——从Kafka与RabbitMQ的对比来看全局 一、前言 消息队列中间件(简称消息中间件)是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下提供应用解耦、弹性伸缩、冗余存储、流量削峰、异步通信、数据同步等等功能,其作为分布式系统架构中的一个重要组件,有着举足轻重的地位。 ...

zhangbijun1230的专栏 536

消息中间件选型分析 —— 从 Kafka 与 RabbitMQ 的对比来看全局

一、前言 消息队列中间件(简称消息中间件)是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下提供应用解耦、弹性伸缩、冗余存储、流量削峰、异步通信、数据同步等等功能,其作为分布式系统架构中的一个重要组件,有着举足轻重的地位。 目前开源的消息中间件可谓是琳琅满目,能让大家耳熟能详的就有很多,比如ActiveMQ、RabbitMQ、Kafka、RocketMQ、ZeroMQ等。不管选择其中的哪一款,都会有用的不趁手

NicolasLearner的博客 479

消息中间件选型分析:从 Kafka 与 RabbitMQ 的对比看全局

一、前言 消息队列中间件(简称消息中间件)是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下提供应用解耦、弹性伸缩、冗余存储、流量削峰、异步通信、数据同步等等功能,其作为分布式系统架构中的一个重要组件,有着举足轻重的地位。 目前开源的消息中间件可谓是琳琅满目,能让大家耳熟能详的就有很多,比如 ActiveMQ、RabbitMQ、Kafka、RocketMQ、ZeroMQ 等。不管选择其中的哪一款,都会有用的不

lzf的博客 497
上一篇: Dubbo与Zookeeper核心解析
下一篇: 消息队列知识体系概览
Java廖志伟
博客等级 码龄2年 3609粉丝 1517原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值