源码仅用于测试,请勿用于商用。源码来自网络,如有侵权,请联系我下架。
新一代Java数据库驱动规范-反应式驱动规范

1. 前言

响应式编程已经在 Java 编程领域出现很长一段时间了。具有高性能,事件驱动,充分利用计算资源,更加优雅的异步编程体验,同时它也提供了背压机制来防止系统过载。很长一段时间 Java 的响应式只能同 MongoDBRedis 等这些非关系型数据库进行交互。而目前我们大部分的数据还是存放在关系型数据库中,大部分情况下 Java 使用 JDBC 来操作关系型数据库,而 JDBC 是阻塞的、同步的。所以迫切需要一种支持响应式的数据库驱动协议。目前市面上有两种响应式数据库驱动协议,我们来了解一下它们。

2. ADBA

ADBAOracle 主导的 Java 异步数据库访问的标准 API 。它的目的性是集成于未来 Java 的标准发行版中,目前发展比较慢,目前只提供OpenJDK沙盒特性供开发者研究之用。它不打算作为 JDBC 的扩展或替代,而是一个完全独立的 API,该 API 提供对 JDBC 相同数据库的完全无阻塞访问。

3. R2DBC

Spring 官方在 Spring 5 发布了响应式 Web 框架 Spring WebFlux 之后急需能够满足异步响应的数据库交互 API 。 由于缺乏标准和驱动,Pivotal(Spring 官方) 团队开始研究反应式关系型数据库连接(Reactive Relational Database Connectivity),并提出了 R2DBC 规范 API 以评估可行性并讨论数据库厂商是否有兴趣支持反应式的异步非阻塞驱动程序。最开始只有 PostgreSQLH2MSSQL 三家,现在 MySQL 也加入了进来。R2DBC 最新版本是0.8.1.RELEASE。除了驱动实现外还提供了 R2DBC 连接池 和 **R2DBC 代理**。除此之外还支持云原生应用。

3.1 可用的 R2DBC 驱动实现

目前可用的驱动有:

  • cloud-spanner-r2dbc:用于Google Cloud Spanner的驱动程序
  • jasync-sqlJavaKotlinR2DBC包装器,用Kotlin编写的MySQLPostgreSQL异步数据库驱动程序。
  • r2dbc-h2:为H2实现的原生驱动程序,以方便作为测试数据库。
  • r2dbc-postgres:为PostgreSQL实现的原生驱动程序。
  • r2dbc-mssql:为Microsoft SQL Server实现的原生驱动程序。
  • r2dbc-mysql:为MySQL实现的原生驱动程序。

4. 总结

我们需要明确一点,无论 ADBA 还是 R2DBC 都不是为了取代 JDBC 。只是为了补充在响应式编程下的空白。至于反应式的未来如何,目前还不是很明朗,但是发展很迅速,我还是很看好的。就目前来说 ADBA 具有官方加持的优势,而 R2DBC 具有活跃的社区优势,究竟谁是业界规则的领导者,相信很快就会揭晓。后续我也会实验性的来尝试使用 R2DBC 并分享其中的一些经验,多多关注。

阅读全文
资源下载
下载价格免费
使用用途仅限于测试、实验、研究为目的,禁止用于一切商业运营,本团队不承担使用者在使用过程中的任何违法行为负责所有源码请自测!不保证你源码完整性有效性所有源码都是全网搜集
原文链接:https://bcbccb.cn/4477.html,转载请注明出处。 免责声明:本资源并未取得原始权利人的授权,不可商用,仅可用于学习分析底层代码,CSS等,禁止用于商业行为。如因擅自商用引起的相关纠纷及法律责任,由使用人全部承担。支持正版,人人有责,请于下载后24小时内删除,谢谢支持!
1

评论0

最新盛大跑分系统源码多功能完美运营微信+支付宝+银行卡+云闪付+抢单系统跑分系统源码+完整数据
最新盛大跑分系统源码多功能完美运营微信+支付宝+银行卡+云闪付+抢单系统跑分系统源码+完整数据
8分钟前 有人购买 去瞅瞅看

站点公告

本站所提供的源码(主题/插件/应用源码)等资源仅供学习交流

禁止使用商业用途,否则产生的一切后果将由下载用户自行承担!

有部分资源为网上收集或仿制而来,若侵犯了您的合法权益,请来信通知我们.

目前会员大酬宾,终身会员现价299金币。近期调整价格

赶快加入,机会不等人! 立即参与

显示验证码
没有账号?注册  忘记密码?

社交账号快速登录

zh_CNChinese