当持久化DB使用RDS,缓存使用MongoDB或Redis时,怎么使用DTS实现缓存更新-问答-阿里云开发者社区-阿里云

开发者社区> 云栖大讲堂> 正文

当持久化DB使用RDS,缓存使用MongoDB或Redis时,怎么使用DTS实现缓存更新

2017-10-31 14:18:54 3107 0
为提高业务访问速度,提升业务读并发,很多用户会在业务架构中引入缓存层。业务读请求路由到缓存层,通过缓存的内存读取机制提升业务读取性能。为了保证数据完整性,业务的更新数据可以落到持久化存储RDS。此时,业务需要实现缓存更新策略,保证业务数据更新后,缓存中的数据能够被同步更新。
缓存失效竟然可以这么解? 所述,通过DTS的数据订阅功能,可以实现高可靠、低延迟的缓存更新策略。
本小节介绍,当持久化DB使用RDS,缓存使用MongoDB或Redis时,怎么使用DTS实现缓存更新。

缓存更新步骤


使用DTS提供了RDS MySQL增量数据订阅的功能实现缓存更新,持久化RDS到缓存MongoDB/Redis的更新数据同步需要进行两个步骤的操作:
  1. 在DTS控制台创建RDS实例的订阅通道,具体创建步骤详见 创建订阅通道
  2. 封装DTS提供的SDK,从订阅通道中监听并实时获取RDS增量数据,根据业务需求,将增量数据封装成MongoDB/Redis的数据更新语句后,同步运行到缓存MongoDB/Redis中,从而实现RDS->MongoDB/Redis增量数据实时同步,实现高可靠、低延迟缓存更新。

为降低用户使用门槛,DTS提供了封装DTS SDK 实现增量数据同步到MongoDB/Redis的demo,下文详细介绍运行这些示例demo的具体流程。

MongoDB缓存更新demo运行示例



Access Key 创建


缓存更新Demo运行时,需要配置订阅通道所属阿里云账号的Access Key/Access Secret。所以在运行Demo之前,需要先创建Access Key。如果阿里云账号已经创建过Access Key,那么不需要重新创建。如果未创建,那么具体操作步骤如下:
  1. 登录阿里云控制台,点击右上角的阿里云账号,进入账号管理中心。
  2. 点击头部的AccessKeys,进入Access Key 管理页面。
  3. 点击控制台右上角 [backcolor=transparent]创建Access Key ,创建Access Key/Access Secret。


安装JAVA SDK


DTS提供的JAVA SDK支持的开发环境为:J2SE Development Kit (JDK) 1.5或以上版本。
下面以Eclipse工程为例,简单介绍SDK的安装步骤:
  1. 登录[backcolor=transparent]SDK下载页面,下载最新数据订阅SDK包 [backcolor=transparent]dts-subscribe-3.0.jar。
  2. 进入Eclipse,创建一个maven project,右键点击Project -> Properties -> Java Build Path -> Libraries->Add External JARs,选择dts-subscribe-3.0.jar包的存放路径,将dts-subscribe-3.0.jar添加到工程中。
  3. 选择dts-subscribe-3.0.jar,点击“OK”按钮,经过以上步骤,你就可以在工程中使用DTS Java SDK了。


示例Demo运行


下面以eclipse工程为例,简单介绍运行MongoDB 数据更新demo的方式。
  1. 下载 MongoDB数据更新Demo
  2. 在上面新建的project中新建类DTSMySQL2Mongo。
  3. 打开生成的Java文件DTSMySQL2Mongo,删除里面的代码模板,将示例代码黏贴在文件DTSMySQL2Mongo中。

  4. Maven配置。<dependency>
  5. <groupId>com.vividsolutions</groupId>
  6. <artifactId>jts</artifactId>
  7. <version>1.13</version>
  8. </dependency>
  9. <dependency>
  10. <groupId>org.mongodb</groupId>
  11. <artifactId>mongo-java-driver</artifactId>
  12. <version>3.2.0</version>
  13. </dependency>


在pom.xml中完成maven配置后,右键点击project,选择Maven->Update Project,进行Maven依赖更新。
修改Demo中的AccessKeyID,AccessKeySecret,订阅通道ID,mongUrl,mongUserName,mongUserPassword,其中:
  • AccessKeyID 为上面创建的AccessKey
  • AccessSecret 为AccessKey对应的AccessSecret
  • Subscription_Instance_ID 为订阅通道ID
  • mongoUrl 为要同步的MongoDB的连接地址,连接串格式为:
  • [backcolor=transparent]MongoDB连接地址:MongoDB监听端口/默认连接数据库,例如:120.26.122.72:27037/admin1
  • mongUserName 为访问MongoDB的数据库账号

  • mongUserPassword 为访问MongoDB的数据库账号对应的密码

在Eclipse中右击demo文件 -> 运行方式 –> Java应用程序,即成功运行示例demo。

Redis缓存更新demo运行示例



Access Key 创建


缓存更新Demo运行时,需要配置订阅通道所属阿里云账号的Access Key/Access Secret。所以在运行Demo之前,需要先创建Access Key。如果阿里云账号已经创建过Access Key,那么不需要重新创建。如果未创建,那么具体操作步骤如下:
  1. 登录阿里云控制台,点击右上角的阿里云账号,进入账号管理中心。
  2. 点击头部的AccessKeys,进入Access Key 管理页面。
  3. 点击控制台右上角 [backcolor=transparent]创建Access Key,创建Access Key/Access Secret。


安装JAVA SDK


DTS提供的JAVA SDK支持的开发环境为:J2SE Development Kit (JDK) 1.5或以上版本。
下面以Eclipse工程为例,简单介绍SDK的安装步骤:
  1. 登录[backcolor=transparent]SDK下载页面,下载最新数据订阅SDK包 [backcolor=transparent]dts-subscribe-3.0.jar。
  2. 进入Eclipse,创建一个maven project,右键点击Project -> Properties -> Java Build Path -> Libraries->Add External JARs,选择dts-subscribe-3.0.jar包的存放路径,将dts-subscribe-3.0.jar添加到工程中。
  3. 选择dts-subscribe-3.0.jar,点击“OK”按钮,经过以上步骤,你就可以在工程中使用DTS Java SDK了。


示例Demo运行


下面以eclipse工程为例,简单介绍运行Redis 数据更新demo的方式。
  1. 下载 Redis数据更新demo
  2. 在上面新建的project中新建类DTSMySQL2Redis。
  3. 打开生成的Java文件DTSMySQL2Redis,删除里面的代码模板,将示例代码黏贴在文件DTSMySQL2Redis中。

  4. Maven配置。 <dependency>
  5. <groupId>com.vividsolutions</groupId>
  6. <artifactId>jts</artifactId>
  7. <version>1.13</version>
  8. </dependency>
  9. <dependency>
  10. <groupId>redis.clients</groupId>
  11. <artifactId>jedis</artifactId>
  12. <version>2.7.2</version>
  13. </dependency>


在pom.xml中完成maven配置后,右键点击project,选择Maven->Update Project,进行Maven依赖更新。
修改Demo中的AccessKeyID,AccessKeySecret,订阅通道ID,redisUrl,redisPort,redisPassword,其中:
  • AccessKeyID 为上面创建的AccessKey
  • AccessSecret 为AccessKey对应的AccessSecret
  • Subscription_Instance_ID 为订阅通道ID
  • redisUrl 为要同步的Redis的连接地址,例如:120.26.122.72
  • redisPort 为Redis监听端口

  • redisPassword 为访问Redis的数据库账号

在Eclipse中右击demo文件 -> 运行方式 –> Java应用程序,即成功运行示例demo。
至此,完成通过DTS数据订阅功能,MongoDB/Redis 数据更新Writer实现高可靠、低延迟缓存更新策略。
取消 提交回答
全部回答(0)
相关问答

17

回答

【大咖问答】对话PostgreSQL 中国社区发起人之一,阿里云数据库高级专家 德哥

阿里ACE 彭飞 2019-07-10 09:36:10 975147浏览量 回答数 17

162

回答

惊喜翻倍:免费ECS+免费环境配置~!(ECS免费体验6个月活动3月31日结束)

豆妹 2014-10-29 17:52:21 223060浏览量 回答数 162

145

回答

【新手入门】云服务器linux使用手册

fanyue88888 2012-11-26 17:14:18 157135浏览量 回答数 145

8

回答

OceanBase 使用动画(持续更新)

mq4096 2019-02-20 17:16:36 333948浏览量 回答数 8

110

回答

OSS存储服务-客户端工具

newegg11 2012-05-17 15:37:18 292361浏览量 回答数 110

18

回答

阿里云开放端口权限

xcxx 2016-07-20 15:03:33 643283浏览量 回答数 18

38

回答

安全组详解,新手必看教程

我的中国 2017-11-30 15:23:46 256921浏览量 回答数 38

249

回答

阿里云LNAMP(Linux + Nginx + Apache + MySQL + PHP)环境一键安装脚本

云代维 2014-02-14 15:26:06 302655浏览量 回答数 249

24

回答

【精品问答】python技术1000问(1)

问问小秘 2019-11-15 13:25:00 471617浏览量 回答数 24

2

回答

区域选择帮助

fanyue88888 2012-12-07 15:54:30 204037浏览量 回答数 2
+关注
云栖大讲堂
擅长前端领域,欢迎各位热爱前端的朋友加入我们( 钉钉群号:23351485)关注【前端那些事儿】云栖号,更多好文持续更新中!
3892
文章
1754
问答
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载