ShardingSphere 水平分表详解

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

📘拥有多年一线研发和团队管理经验,研究过主流框架的底层源码(Spring、SpringBoot、SpringMVC、SpringCloud、Mybatis、Dubbo、Zookeeper),消息中间件底层架构原理(RabbitMQ、RocketMQ、Kafka)、Redis缓存、MySQL关系型数据库、 ElasticSearch全文搜索、MongoDB非关系型数据库、Apache ShardingSphere分库分表读写分离、设计模式、领域驱动DDD、Kubernetes容器编排等。

📙不定期分享高并发、高可用、高性能、微服务、分布式、海量数据、性能调优、云原生、项目管理、产品思维、技术选型、架构设计、求职面试、副业思维、个人成长等内容。

Java程序员廖志伟

💡在这个美好的时刻,笔者不再啰嗦废话,现在毫不拖延地进入文章所要讨论的主题。接下来,我将为大家呈现正文内容。

优快云

🍊 ShardingSphere知识点之水平分表:概述

在当今大数据时代,随着业务量的不断增长,数据库的负载也日益加重。许多企业面临着数据库性能瓶颈的问题,尤其是在数据量达到一定程度后,单表查询速度和写入速度都会显著下降。为了解决这一问题,水平分表作为一种常见的数据库优化手段,被广泛应用于各种业务场景中。接下来,我们将通过ShardingSphere这一分布式数据库中间件,深入探讨水平分表的相关知识点。

随着业务数据的不断积累,单表数据量可能会迅速膨胀,导致查询效率低下,甚至出现数据库崩溃的风险。在这种情况下,水平分表应运而生。它通过将数据按照某种规则分散到多个表中,从而减轻单个数据库表的负担,提高数据库的整体性能。

介绍ShardingSphere知识点之水平分表:概述这一知识点的重要性在于,它不仅能够帮助我们理解水平分表的基本原理,还能让我们掌握如何在实际项目中应用这一技术。通过学习这一知识点,我们可以:

  1. 了解水平分表的概念,明确其工作原理和优势。
  2. 掌握水平分表的适用场景,知道在哪些情况下应该考虑使用水平分表。
  3. 学习ShardingSphere如何实现水平分表,以及如何通过ShardingSphere进行分片策略的配置和管理。

在接下来的内容中,我们将依次介绍以下三级标题:

  • ShardingSphere知识点之水平分表:概念:我们将详细阐述水平分表的定义、作用以及与垂直分表的对比。
  • ShardingSphere知识点之水平分表:目的:分析水平分表带来的好处,如提高查询效率、降低数据库压力等。
  • ShardingSphere知识点之水平分表:适用场景:列举一些适合使用水平分表的业务场景,帮助读者更好地理解这一技术的应用。

通过这些内容的介绍,读者将能够全面了解水平分表在ShardingSphere中的应用,为后续的实践打下坚实的基础。

🎉 水平分表概念

水平分表,也称为横向分表,是一种数据库优化技术。它通过将数据按照某个字段值的不同,分散存储到多个表中,从而提高数据库的查询效率,降低单表的数据量,避免单表过大导致的性能瓶颈。

📝 对比与列举
特性 水平分表 纵向分表
数据分布 按照某个字段值的不同进行分散 按照数据属性的不同进行分散
数据量 单表数据量减少,查询效率提高 单表数据量可能很大,查询效率可能降低
适用场景 数据量较大,查询频繁的场景 数据量较小,数据更新频繁的场景

🎉 分表策略

分表策略是指如何选择合适的字段进行分表。常见的分表策略包括:

  • 按时间分表:根据数据的创建时间进行分表,适用于时间序列数据。
  • 按用户ID分表:根据用户ID进行分表,适用于用户数据量大的场景。
  • 按业务类型分表:根据业务类型进行分表,适用于业务种类较多的场景。

🎉 分表规则

分表规则是指如何确定每个表的数据范围。常见的分表规则包括:

  • 范围分表:根据字段值的范围进行分表,如按用户ID的范围分表。
  • 哈希分表:根据字段值的哈希值进行分表,如按用户ID的哈希值分表。

🎉 分表粒度

分表粒度是指分表时选择的字段值。常见的分表粒度包括:

  • 按年分表:将数据按照年份进行分表。
  • 按月分表:将数据按照月份进行分表。
  • 按用户ID范围分表:将数据按照用户ID的范围进行分表。

🎉 分表影响

分表对数据库的影响包括:

  • 查询性能:分表可以提高查询性能,降低单表的数据量。
  • 写入性能:分表可能会降低写入性能,因为需要将数据写入多个表中。
  • 维护成本:分表会增加数据库的维护成本,如数据迁移、备份等。

🎉 分表工具

常见的分表工具有:

  • ShardingSphere:一款开源的数据库中间件,支持水平分表、垂直分表、读写分离等功能。
  • MyCat:一款开源的数据库中间件,支持水平分表、垂直分表、读写分离等功能。
  • TDDL:一款开源的数据库中间件,支持水平分表、垂直分表、读写分离等功能。

🎉 分表优化

分表优化包括:

  • 合理选择分表字段:选择合适的字段进行分表,提高查询性能。
  • 合理选择分表规则:选择合适的分表规则,降低写入性能损耗。
  • 合理选择分表粒度:选择合适的分表粒度,降低维护成本。

🎉 分表与索引

分表与索引的关系:

  • 分表后,原表索引失效:分表后,原表索引需要重新创建。
  • 分表后,查询性能可能降低:分表后,查询性能可能因为索引失效而降低。

🎉 分表与查询

分表与查询的关系:

  • 分表可以提高查询性能:分表可以降低单表的数据量,提高查询性能。
  • 分表可能会降低查询性能:分表后,查询需要跨多个表进行,可能会降低查询性能。

🎉 分表与事务

分表与事务的关系:

  • 分表不会影响事务:分表不会影响事务的执行。
  • 分表可能会影响事务的性能:分表可能会因为数据分布在多个表中,导致事务的性能降低。

🎉 分表与分布式系统

分表与分布式系统的关系:

  • 分表是分布式系统的一部分:分表是分布式系统中的数据分片技术。
  • 分表可以提高分布式系统的性能:分表可以降低单节点的数据量,提高分布式系统的性能。

ShardingSphere知识点之水平分表:目的

数据库扩展性

在数据库设计中,水平分表是一种常见的数据库扩展方式。它通过将数据按照某种规则分散到多个表中,从而实现数据库的横向扩展。ShardingSphere作为一款优秀的数据库中间件,提供了水平分表的功能。这种扩展方式的目的之一就是为了提高数据库的扩展性。通过水平分表,我们可以将数据均匀地分散到多个表中,从而避免单个表的数据量过大,导致性能瓶颈。

提高查询性能

当单表数据量过大时,查询性能会受到影响。水平分表可以将数据分散到多个表中,从而提高查询性能。例如,在电商系统中,用户表的数据量可能非常大,如果使用水平分表,可以将用户按照地域、年龄等维度进行划分,这样在查询特定地域或年龄的用户时,可以只查询对应的分表,从而提高查询效率。

降低单表数据量

随着业务的发展,单表数据量会不断增长。当单表数据量过大时,不仅会影响查询性能,还可能引发数据库崩溃等问题。水平分表可以将数据分散到多个表中,从而降低单表数据量,避免上述问题。

支持海量数据存储

在互联网时代,数据量呈爆炸式增长。水平分表可以支持海量数据存储,因为数据被分散到多个表中,每个表的数据量相对较小,从而降低了数据库的压力。

提升系统可维护性

水平分表可以提升系统的可维护性。当需要对某个表进行维护时,只需对该表进行操作,而不会影响到其他表。此外,水平分表还可以方便地进行数据备份和恢复。

优化数据库资源利用

水平分表可以优化数据库资源利用。通过将数据分散到多个表中,可以充分利用数据库的存储空间和计算资源,提高数据库的整体性能。

避免单点故障

在单表数据量过大时,一旦该表出现问题,整个系统可能会受到影响。水平分表可以将数据分散到多个表中,从而避免单点故障,提高系统的稳定性。

支持复杂业务逻辑处理

在复杂业务场景中,水平分表可以支持更复杂的业务逻辑处理。例如,在电商系统中,可以根据用户购买的商品类型、地域等维度进行水平分表,从而方便地进行数据分析和处理。

总结

ShardingSphere水平分表的目的主要包括:提高数据库扩展性、提高查询性能、降低单表数据量、支持海量数据存储、提升系统可维护性、优化数据库资源利用、避免单点故障和支持复杂业务逻辑处理。通过水平分表,我们可以有效地解决数据库性能瓶颈,提高系统的稳定性和可维护性。

🎉 数据库分片原理

数据库分片是将一个大型的数据库拆分成多个小型的数据库的过程,每个小型的数据库称为一个分片。分片可以基于不同的维度进行,如地理位置、时间戳、用户ID等。ShardingSphere通过水平分片(也称为表分片)来实现数据库的拆分。

🎉 分片策略选择

选择合适的分片策略是分片成功的关键。以下是一些常见的分片策略:

分片策略 适用场景
基于范围分片 数据量较大,且数据有明显的范围分布,如时间戳、ID等。
基于哈希分片 数据量较大,且数据分布较为均匀,如用户ID、订单号等。
基于列表分片 数据量较小,且数据分布不均匀,如地区、部门等。

🎉 分片键设计

分片键是决定数据如何分布到各个分片的关键。以下是一些分片键设计原则:

  • 选择合适的分片键类型,如字符串、数字等。
  • 分片键应具有唯一性,避免数据冲突。
  • 分片键应具有可预测性,便于查询优化。

🎉 分片数据迁移

分片数据迁移是将数据从一个分片迁移到另一个分片的过程。以下是一些分片数据迁移策略:

  • 全量迁移:将整个分片的数据迁移到目标分片。
  • 增量迁移:仅迁移新增的数据到目标分片。

🎉 分片数据一致性

分片数据一致性是指分片之间数据的一致性。以下是一些保证分片数据一致性的方法:

  • 两阶段提交:确保事务在所有分片上成功提交。
  • 分布式锁:避免多个分片同时修改同一数据。

🎉 分片查询优化

分片查询优化是指针对分片后的数据库进行查询优化。以下是一些分片查询优化策略:

  • 分片键优化:选择合适的分片键,提高查询效率。
  • 索引优化:为分片键创建索引,提高查询速度。

🎉 分片事务管理

分片事务管理是指管理分片事务的过程。以下是一些分片事务管理策略:

  • 本地事务:在单个分片内进行事务操作。
  • 全局事务:跨多个分片进行事务操作。

🎉 分片系统监控

分片系统监控是指对分片系统进行实时监控,以下是一些分片系统监控指标:

  • 分片负载:监控每个分片的负载情况。
  • 分片性能:监控分片查询、更新、删除等操作的响应时间。

🎉 分片系统容错

分片系统容错是指应对分片系统出现故障的情况。以下是一些分片系统容错策略:

  • 数据备份:定期备份分片数据。
  • 故障转移:在分片出现故障时,将故障分片的数据迁移到其他分片。

🎉 分片系统性能评估

分片系统性能评估是指对分片系统性能进行评估。以下是一些分片系统性能评估指标:

  • 吞吐量:评估分片系统的处理能力。
  • 响应时间:评估分片系统的响应速度。

通过以上分析,我们可以看出,ShardingSphere水平分表在处理大规模数据时具有明显的优势。在实际应用中,我们需要根据具体场景选择合适的分片策略、分片键、分片数据迁移策略等,以确保分片系统的稳定性和性能。

🍊 ShardingSphere知识点之水平分表:原理

在当今大数据时代,随着业务量的不断增长,数据库的负载也日益加重。许多企业面临着如何高效管理海量数据的问题。假设我们正在开发一个在线购物平台,随着用户数量的激增,订单表的数据量迅速膨胀,导致查询效率低下,甚至出现数据库性能瓶颈。为了解决这个问题,我们引入了ShardingSphere的水平分表技术。

ShardingSphere知识点之水平分表:原理,正是为了解决上述场景中的数据管理难题。通过水平分表,我们可以将一个庞大的表拆分成多个小表,每个小表存储数据的一部分,从而提高数据库的查询性能和扩展性。那么,为什么需要深入理解水平分表的原理呢?

首先,掌握水平分表的原理有助于我们更好地设计数据库架构,合理地划分数据,避免数据分布不均导致的性能问题。其次,了解原理可以帮助我们在面对不同的业务场景时,选择合适的分片策略,如范围分片、列表分片、哈希分片等,以实现最优的数据分布。此外,分片键的选择和数据迁移策略的制定也是水平分表成功的关键因素。

接下来,我们将对ShardingSphere知识点之水平分表的各个三级标题进行概述:

  1. 分片策略:我们将详细介绍ShardingSphere支持的多种分片策略,包括范围分片、列表分片、哈希分片等,并分析它们各自的优缺点和适用场景。

  2. 范围分片:我们将探讨如何根据数据的范围进行分片,以及如何实现高效的查询和插入操作。

  3. 列表分片:我们将介绍如何根据数据的预定义列表进行分片,并分析其适用场景和性能特点。

  4. 哈希分片:我们将深入探讨哈希分片的原理,以及如何利用哈希函数实现数据的均匀分布。

  5. 分片键:我们将讨论分片键的选择对水平分表性能的影响,以及如何选择合适的分片键。

  6. 数据迁移:我们将介绍在水平分表过程中,如何进行数据迁移,以及如何确保数据迁移的完整性和一致性。

通过以上概述,相信读者对ShardingSphere知识点之水平分表的整体认知会更加清晰。接下来,我们将逐一深入探讨这些三级标题的内容。

🎉 分片策略类型

在ShardingSphere中,水平分表的分片策略类型主要包括以下几种:

分片策略类型 描述
单列分片 根据单列的值进行分片,是最常见的分片方式。
范围分片 根据列值的范围进行分片,适用于有序列。
哈希分片 根据列值的哈希值进行分片,适用于无序列。
按模分片 根据列值的模数进行分片,适用于有序列。
复合分片 根据多个列的值进行分片,适用于多列分片需求。

🎉 分片键选择

分片键的选择对分片策略的效果至关重要。以下是一些选择分片键的考虑因素:

  • 业务相关性:分片键应与业务逻辑紧密相关,以便于数据分片和查询。
  • 数据分布:选择具有良好数据分布特性的列作为分片键,避免数据倾斜。
  • 查询频率:对于查询频率较高的列,应考虑使用哈希分片或范围分片。
  • 数据量:对于数据量较大的表,应选择能够有效减少数据迁移和合并操作的列作为分片键。

🎉 分片算法原理

分片算法是ShardingSphere实现分片策略的核心。以下是一些常见的分片算法原理:

  • 哈希分片:根据分片键的哈希值,将数据均匀分布到各个分片上。
  • 范围分片:根据分片键的值,将数据按照一定的范围分配到各个分片上。
  • 按模分片:根据分片键的值,将数据按照模数分配到各个分片上。

🎉 分片策略配置

在ShardingSphere中,分片策略的配置可以通过以下方式实现:

shardingRule:
  tables:
    t_order:
      actualDataNodes: ds${0..1}.t_order_${0..1}
      tableStrategy:
        inline:
          shardingColumn: order_id
          shardingAlgorithmName: hash_mod

🎉 分片策略优化

为了提高分片策略的性能,以下是一些优化建议:

  • 合理选择分片键:选择具有良好数据分布特性的列作为分片键。
  • 避免数据倾斜:通过调整分片算法或增加分片节点,避免数据倾斜。
  • 优化查询语句:使用分片键进行查询,减少全表扫描。

🎉 分片策略与数据库连接

ShardingSphere通过代理模式实现分片策略与数据库连接的解耦。以下是分片策略与数据库连接的关系:

  • 分片策略:根据分片键和分片算法,将查询语句路由到对应的分片上。
  • 数据库连接:通过ShardingSphere代理,连接到对应的分片节点。

🎉 分片策略与SQL解析

ShardingSphere在解析SQL语句时,会根据分片策略将查询语句路由到对应的分片上。以下是分片策略与SQL解析的关系:

  • SQL解析:解析查询语句,提取分片键和分片算法。
  • 分片路由:根据分片键和分片算法,将查询语句路由到对应的分片上。

🎉 分片策略与事务管理

ShardingSphere支持分片策略与事务管理的结合。以下是分片策略与事务管理的关系:

  • 事务管理:在分片策略的基础上,实现跨分片的事务管理。
  • 分布式事务:通过分布式事务协调器,实现跨分片的事务一致性。

🎉 分片策略与数据迁移

ShardingSphere支持分片策略与数据迁移的结合。以下是分片策略与数据迁移的关系:

  • 数据迁移:在分片策略的基础上,实现数据迁移。
  • 分片迁移:根据分片键和分片算法,将数据迁移到对应的分片上。

🎉 分片策略与性能影响

分片策略对性能的影响主要体现在以下几个方面:

  • 查询性能:通过分片策略,减少查询数据量,提高查询性能。
  • 写入性能:分片策略可能导致写入性能下降,因为需要将数据写入多个分片。
  • 数据迁移:分片策略可能导致数据迁移,影响性能。

🎉 范围分片原理

范围分片是ShardingSphere中实现水平分表的一种方式,它通过指定一个或多个列的值范围,将数据分散到不同的分片中。这种分片方式适用于数据量较大,且数据分布相对均匀的场景。范围分片的原理可以理解为,将数据按照某个字段(通常是时间戳或ID)的值进行排序,然后根据这个排序结果将数据均匀地分配到不同的分片中。

🎉 范围分片策略

范围分片策略主要包括以下几种:

策略类型 描述
单列分片 根据单列字段的值范围进行分片
多列分片 根据多列字段的组合值范围进行分片
哈希分片 根据字段的哈希值进行分片,适用于数据分布不均匀的场景

🎉 范围分片算法

范围分片算法主要包括以下几种:

算法类型 描述
线性分片 将数据均匀地分配到分片中,适用于数据量较大且分布均匀的场景
范围分片 根据字段值范围将数据分配到分片中,适用于数据量较大且分布相对均匀的场景
哈希分片 根据字段的哈希值将数据分配到分片中,适用于数据分布不均匀的场景

🎉 范围分片配置

范围分片配置主要包括以下步骤:

  1. 定义分片规则,包括分片键、分片策略和分片算法。
  2. 配置分片规则对应的分片值范围。
  3. 将分片规则应用于具体的表。
shardingRule:
  tables:
    t_order:
      actualDataNodes: ds${0..1}.t_order_${0..1}
      tableStrategy:
        inline:
          shardingColumn: order_id
          shardingAlgorithmName: linearShardingAlgorithm
      keyGenerator:
        type: SNOWFLAKE
        column: id

🎉 范围分片性能优化

  1. 选择合适的分片键:分片键的选择对性能影响较大,应选择能够均匀分布数据的字段。
  2. 优化分片算法:根据实际情况选择合适的分片算法,如线性分片、范围分片或哈希分片。
  3. 缓存分片键:对于频繁访问的数据,可以使用缓存技术减少数据库访问次数。

🎉 范围分片与业务逻辑的兼容性

范围分片与业务逻辑的兼容性主要体现在以下几个方面:

  1. 查询:支持基于分片键的查询,如 SELECT * FROM t_order WHERE order_id BETWEEN 1 AND 1000
  2. 插入:支持基于分片键的插入,如 INSERT INTO t_order (order_id, ...) VALUES (1, ...)
  3. 更新和删除:支持基于分片键的更新和删除。

🎉 范围分片与数据库连接管理

ShardingSphere提供了数据库连接池,可以方便地管理数据库连接。在范围分片场景下,可以根据分片键将连接分配到对应的分片上,提高查询效率。

🎉 范围分片与数据迁移

数据迁移是范围分片过程中常见的问题。ShardingSphere提供了数据迁移工具,可以将数据从旧表迁移到新表,并确保数据的一致性。

🎉 范围分片与数据一致性保证

范围分片场景下,数据一致性保证主要依赖于以下措施:

  1. 事务管理:ShardingSphere支持分布式事务,可以保证跨分片的数据一致性。
  2. 乐观锁:通过乐观锁机制,可以避免并发操作导致的数据不一致问题。
  3. 悲观锁:在特定场景下,可以使用悲观锁机制保证数据一致性。

🎉 范围分片与分布式事务处理

ShardingSphere支持分布式事务,可以保证跨分片的数据一致性。在分布式事务场景下,ShardingSphere会根据分片键将事务分配到对应的分片上,并确保事务的原子性、一致性、隔离性和持久性。

🎉 水平分表原理

水平分表,顾名思义,是将数据按照某种规则分散到多个表中,每个表包含数据的一部分。这种分表方式可以有效地提高数据库的并发性能和扩展性。在ShardingSphere中,水平分表是通过列表分片策略实现的。

🎉 列表分片策略

列表分片策略是ShardingSphere中的一种分片策略,它根据分片键的值将数据分散到不同的表中。列表分片策略适用于分片键值范围较小的情况,例如用户ID、订单ID等。

🎉 分片键选择

分片键的选择对分片效果至关重要。一般来说,选择具有唯一性、分布均匀、查询频繁的列作为分片键。例如,在电商系统中,用户ID是一个很好的分片键,因为它具有唯一性、分布均匀,并且经常用于查询。

🎉 分片算法

ShardingSphere提供了多种分片算法,如范围分片、哈希分片等。范围分片适用于有序的列,如时间戳;哈希分片适用于无序的列,如用户ID。

🎉 分片数据迁移

分片数据迁移是指将数据从一个分片迁移到另一个分片的过程。在ShardingSphere中,可以通过数据迁移功能实现分片数据的迁移。

🎉 分片数据同步

分片数据同步是指确保分片数据一致性的过程。ShardingSphere提供了多种数据同步机制,如双写、异步复制等。

🎉 分片数据一致性

分片数据一致性是分片系统稳定运行的关键。ShardingSphere通过分布式事务、锁机制等保证分片数据的一致性。

🎉 分片数据查询优化

分片数据查询优化主要包括索引优化、查询语句优化等。在ShardingSphere中,可以通过分片键索引、查询语句分片等手段优化查询性能。

🎉 分片数据索引优化

分片数据索引优化是指针对分片键进行索引优化。在ShardingSphere中,可以通过创建复合索引、使用索引覆盖等技术提高查询效率。

🎉 分片数据分区管理

分片数据分区管理是指对分片数据进行分区操作。在ShardingSphere中,可以通过分区键对数据进行分区,提高数据查询和管理的效率。

🎉 分片数据监控与运维

分片数据监控与运维是保证分片系统稳定运行的重要环节。ShardingSphere提供了丰富的监控指标和运维工具,帮助用户实时监控分片系统的运行状态。

🎉 分片数据性能评估

分片数据性能评估是指对分片系统的性能进行评估。在ShardingSphere中,可以通过压力测试、性能分析等手段评估分片系统的性能。

🎉 分片数据安全与权限控制

分片数据安全与权限控制是指对分片数据进行安全防护和权限控制。在ShardingSphere中,可以通过访问控制、数据加密等技术保障分片数据的安全。

🎉 分片数据备份与恢复

分片数据备份与恢复是指对分片数据进行备份和恢复。在ShardingSphere中,可以通过定时备份、增量备份等技术实现分片数据的备份与恢复。

🎉 分片数据跨库操作

分片数据跨库操作是指对跨库分片数据进行操作。在ShardingSphere中,可以通过分布式事务、跨库查询等技术实现分片数据跨库操作。

🎉 分片数据跨节点操作

分片数据跨节点操作是指对跨节点分片数据进行操作。在ShardingSphere中,可以通过分布式集群、跨节点事务等技术实现分片数据跨节点操作。

🎉 分片数据跨地域操作

分片数据跨地域操作是指对跨地域分片数据进行操作。在ShardingSphere中,可以通过分布式数据库、跨地域集群等技术实现分片数据跨地域操作。

🎉 分片数据跨云操作

分片数据跨云操作是指对跨云分片数据进行操作。在ShardingSphere中,可以通过云数据库、跨云集群等技术实现分片数据跨云操作。

🎉 水平分表原理

水平分表,顾名思义,是将数据按照某种规则分散到多个表中,每个表包含数据的一部分。这种分表方式可以有效地提高数据库的并发处理能力和扩展性。在ShardingSphere中,水平分表是通过将数据按照一定的规则分散到多个表中实现的。

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值