古道长亭

Contact me with ixiaoqiang0011@gmail.com


  • 首页

  • 归档

  • 分类

  • 关于

  • Book

  • 搜索

SPI加载介绍

时间: 2023-01-06   |   分类: mysql高级   sharding-sphere   | 字数: 1079 字 | 阅读约: 3分钟 | 阅读次数:

SPI加载

在ApacheShardingSphere中,很多功能实现类的加载方式是通过SPI注入的方式完成的。Service Provider Interface(SPI)是Java提供的一套被第三方实现或扩展的API,它可以用于实现框架扩展或组件替换。

以下是ApacheShardingSphere所有通过SPI方式载入的功能模块:

  • SQL解析

    SQL解析的接口用于规定用于解析SQL的ANTLR语法文件。 主要接口是SQLParserEntry,其内置实现类有MySQLParserEntry,PostgreSQLParserEntry,SQLServerParserEntry和OracleParserEntry。

  • 数据库协议

    数据库协议的接口用于Sharding-Proxy解析与适配访问数据库的协议。 主要接口是DatabaseProtocolFrontendEngine,其内置实现类有MySQLProtocolFrontendEngine和PostgreSQLProtocolFrontendEngine。

  • 数据脱敏

    数据脱敏的接口用于规定加解密器的加密、解密、类型获取、属性设置等方式。 主要接口有两个:Encryptor和QueryAssistedEncryptor,其中Encryptor的内置实现类有AESEncryptor和MD5Encryptor。

  • 分布式主键

    分布式主键的接口主要用于规定如何生成全局性的自增、类型获取、属性设置等。 主要接口为ShardingKeyGenerator,其内置实现类有UUIDShardingKeyGenerator和SnowflakeShardingKeyGenerator。

  • 分布式事务

    分布式事务的接口主要用于规定如何将分布式事务适配为本地事务接口。 主要接口为ShardingTransactionManager,其内置实现类有XAShardingTransactionManager和SeataATShardingTransactionManager。

  • XA事务管理器

    XA事务管理器的接口主要用于规定如何将XA事务的实现者适配为统一的XA事务接口。 主要接口为XATransactionManager,其内置实现类有AtomikosTransactionManager,NarayanaXATransactionManager和BitronixXATransactionManager。

  • 注册中心

    注册中心的接口主要用于规定注册中心初始化、存取数据、更新数据、监控等行为。 主要接口为RegistryCenter,其内置实现类有Zookeeper。

#mysql#
QQ扫一扫交流

标题:SPI加载介绍

作者:古道长亭

声明: 欢迎加群交流!

如有帮助,欢迎多多交流 ^_^

微信打赏

支付宝打赏

编排治理介绍
分布式事务实战
  • 文章目录
  • 站点概览
古道长亭

古道长亭

Always remember that your present situation is not your final destination. The best is yet to come.

226 日志
57 分类
104 标签
GitHub Gitee
友情链接
  • 古道长亭的BOOK
  • JAVA学习
标签云
  • Mysql
  • 搜索引擎
  • Mybatis
  • 容器
  • 架构
  • 消息队列
  • Flink
  • Sharding sphere
  • 流处理
  • 缓存
© 2019 - 2024 京ICP备19012088号-1
0%