mysql - Reactive Streams Specification 1.0 发布后,jdbc 规范是否也会响应式?

标签 mysql jdbc rx-java reactive-programming reactive-streams

我正在学习和使用 akka 流的 react 流编程,我试图为 async-jdbc-driver 或 reactive-jdbc-driver 寻找任何库 2 年,我找到了 slick 3.0 或 rxjava-jdbc-driver提供异步 jdbc api,但我知道 slick 正在 JDBC api 之上构建惊人的 api,这是阻塞的(如果我错了请纠正我),所以我猜从系统的角度来看,它可能不是 100% 的 react 系统从上到下底部。

另一个令人惊奇的事件是去年发布了“Reactive Streams Specification V1.0”,所以我的问题是:

  1. 该事件是否会触发 JDBC 专家组设计异步 JDBC API 支持?
  2. 然后数据库提供商组织,比如MySQL的提供商Oracle,有没有计划实现相应的驱动程序?
  3. 如果这是无望的,任何指示或替换或我可以变成的任何东西或者 JDBC 层不必是 react 性的并且横向扩展 mysql 服务器就足够了吗?

最佳答案

我也不知道有什么计划。许多不受旧 JDBC API 约束的 NoSQL 解决方案开始提供基于 react 的 API。我不能说这些是否是全栈 react ;您应该通过查看他们的规范/实现来确认这一点。

由于我们通过 RxNetty(Retrofit、OkHttp?)为 TCP/HTTP 提供了完整的堆栈响应式解决方案,并且也有针对 Servlet 4.0 的移动,所以我们可以在异步 JDBC 源上进行组合会很棒。但是,这需要从头开始进行新的 API 设计。

也许一旦 JDK 9 和 Flow API(本质上是 Reactive-Streams,但在不同的包下)被 JDK 开发人员理解和接受。请注意,虽然普通的 Reactive-Streams API 可能无法完全满足此类 I/O 的需要,但需要以双向 react 流的形式提供更扩展的 API。

也许有 JEP 经验的人可以解决这个问题,我们可以开始迭代这些方法。

在那之前,我们有您提到的围绕 JDBC 的阻塞包装器。

关于mysql - Reactive Streams Specification 1.0 发布后,jdbc 规范是否也会响应式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36809053/

相关文章:

mysql - 根据年份在存档博客上创建分页

java - 我怎样才能正确地做到这一点,以便能够在 DBSelectQuery 类中进行选择?

r - 无法打开客户端传输,JDBC 连接在 R 中被拒绝

php - WAMP 无法执行菜单项(内部错误)

MySQL Workbench 保存数据库

android - 管理 Android SQLite 数据库的工具

java - 获取连接的mysql数据库名(JDBC)

rx-java - 节流最后与RxJava中的示例

java - RxJava中 'Subscriber Thread'是什么意思

java - 如何根据某些属性使用 RxJava2 对 ArrayList 进行分组?