「讨论」支持 Quarkus 扩展

搬运君又来搬运优质 Discussions 啦,发起者来源于 GitHub zhfeng

zhfeng:

功能要求

  • 创建一个 quarkus 扩展就像 quarkus-sharding-sphere
  • 它应该利用 Quarkus 数据源
  • 它需要 ShardingSphereDataSource 使用 application.properties 或 yaml 配置生成 bean 。
  • 需要支持 JVM 和 Native 模式

欢迎任何反馈!


tristaZero:


@zhfeng

你的想法我觉得不错。:wink: 你想添加quarkus.datasource.db-kind=shardingsphere ?我能知道你为什么要添加shardingsphere-db-kindQuarkus

我很好奇人们会选择哪种场景Quarkus-dataSource


zhfeng:


是的,这应该是添加 .db 类型的一种选择shardingshpere 。我想在接下来的几周内创建一个 PoC 项目。

它应该利用 Quakrus 本机模式通过使用 Graal VM 将 shardingsphere 应用程序构建到本机执行中。这可以提高运行时的启动速度和内存。

另外我认为如果人们想用 Quarkus 框架构建一个云原生应用程序并且还想使用数据库分片功能,shardingsphere 应该是他们的第一和最佳选择。:slight_smile:


zhfeng:


我只是创建了一个初始 repo https://github.com/zhfeng/quarkus-shardingsphere-jdbc。@tristaZero你能检查一下名字是否合适吗?目前 Quarkus 有https://github.com/quarkiverse/来保存所有的 3rd 方扩展。无论如何,我们也可以选择将扩展保存在 shardingsphere repo 中。


tristaZero:


听起来很有趣,我更喜欢融入 Quarkus 生态系统,让Quarkus 用户利用 ShardingSphere。
BTW,如果ShardingSphere轮流使用Quakus的dataSource,你怎么看?我的意思Vert.xDataSource
期待您的评论,您的想法看起来很有吸引力。:wink:

zhfeng:


它可能依赖于 JdbcDataSourceBuildItem 并创建一个 Map<String, DataSource> ,它可能会传递给 ShardingSphereDataSourceFactory 以在运行时创建一个新的数据源。


zhfeng:


好的,我在 Quarkus 生态系统上创建了https://github.com/quarkiverse/quarkus-shardingsphere-jdbc。


zhfeng:


看来现在支持原生模式有点困难。shardingsphere 需要一些依赖来支持 graalvm 编译。我会继续调查并在这里收集一些信息


terrymanu:


apache curator 是 ShardingSphere 的可选依赖,先用 etcd 试试怎么样?

zhfeng:


好的我明白了。我试图让一个简单ShardingSphereDataSource 的工作开始。顺便说一句,如果 curator 是可选的,为什么 shardingsphere-jdbc-core 依赖于它?


zhfeng:


@terrymanu @tristaZero我只是想知道我们是否有一些链接来详细解释每个 shardingsphere 配置application.properties

quarkus.shardingsphere.rules.sharding.default-sharding-column=account_id
quarkus.shardingsphere.rules.sharding.binding-tables=t_order,t_order_item
quarkus.shardingsphere.rules.sharding.broadcast-tables=t_address

我想确保这些与shardingsphere -spring-boot-starter .


为了中文开发者更好的查阅,讨论已经翻译成中文

详情链接点击 这里

京ICP备2021015875号