数据订阅功能将数据库中关键业务的数据变化信息缓存并提供统一的SDK接口,方便下游业务订阅、获取、并消费。
在使用SDK消费之前,需要先在数据复制服务控制台创建数据订阅任务。
当订阅任务创建完成后,使用SDK可以实时订阅订阅通道中的增量数据。目前:
数据复制服务提供的JAVA版本SDK支持的开发环境为JDK1.6以上版本, 推荐使用JDK1.8版本。
目前仅支持VPC网络。
SDK的拉取和确认消息是两个异步的线程,拉取按照事务顺序拉取,两个线程分别独立并且遵循因果序。拉取到的消息会顺序的调用用户注册的notify函数,SDK保证每一条消息会推送一次,且只有一次。
SDK的jar包使用beta版本只支持通过lib直接导入, 暂时不支持maven中央仓库直接下载,后续提供maven依赖直接从中央仓库下载。
<dependency> <groupId>com.huawei.hwclouds</groupId> <artifactId>drs-subscribe-sdk</artifactId> <version>1.0</version> </dependency>
数据订阅过程中,部分参数会影响拉取数据的速度和间隔。
在启动SDK之前,您可以根据需要在“subscribe.properties”的配置文件中,对以下参数进行设置:
# 获取订阅数据初始延时 MESSAGE_DELAY_TIME = 1500000 # 获取订阅数据间隔时间 MESSAGE_PERIOD_TIME = 2000000 # 通知用户订阅数据到达初始延时 NOTIFY_DELAY_TIME = 2000 # 通知用户订阅数据间隔 NOTIFY_PERIOD_TIME = 1000 # 返回服务端ack消息初始延时 ACK_DELAY_TIME = 3000 # 返回服务端ack消息时间间隔 ACK_PERIOD_TIME = 5000
SDK采用的是自动批量确认机制,不需要客户端程序调用确认函数,可以重复确认。
例如:客户端收到了5个batch的消息,但是服务端只收到了1,2,5三个batch的确认,因为客户端确认消息也是严格有序的,那么认为客户端已经消费到了1-5的消息,若客户端程序挂掉了,那么消费位点会从5的batch size开始。
import com.huawei.hwclouds.drs.context.SubscribeContext; import com.huawei.hwclouds.drs.message.ClusterMessage; import com.huawei.hwclouds.drs.subscribe.ClusterListener; import com.huawei.hwclouds.drs.subscribe.DefaultSubscribeClient; import com.huawei.hwclouds.drs.subscribe.SubscribeClient; import java.util.List; public class MainClass { public static void main(String[] args) throws Exception { SubscribeContext context = new SubscribeContext(); //设置本云用户名称 context.setDomainName("username"); //设置本云用户密码 context.setPassword("userpassword"); //设置订阅通道的IP,即数据订阅页面的订阅实例IP context.setIp("SubscribeChannelIp"); context.setUserId("userId"); SubscribeClient client = DefaultSubscribeClient.getSubscribeClient(context); ClusterListener clusterListener = new ClusterListener() { @Override //notify中定义客户端消费行为 public void notify(List<ClusterMessage> var1) throws Exception { for (ClusterMessage message : var1) { System.out.println("Message is " + message.toString()); } } }; client.addClusterListener(clusterListener); client.start(); } }
通过已部署好的云桌面创建自定义镜像,您可以保存、复制桌面环境,以便创建更多...
本文转载自微信公众号「Python学会」,作者Huangwei AI。转载本文请联系Python学...
按需转包年包月 按需按带宽计费的弹性公网IP、共享带宽资源可以转包年包月,变更...
记者今日获悉 阿里云高校计划目前已为全国2258所高校、近9万余名师生免费提供7.7...
操作场景 公网NAT网关创建后,通过添加DNAT规则,则可以通过映射方式将您VPC内的...
作为一家在世界多地设有超百家分支机构、拥有超7万员工的中国领先数字化服务商,...
1. 接口描述 接口请求域名: cdn.tencentcloudapi.com 。 DeleteCdnDomain 用于...
最近遇到了一个任务折腾了我一个周多,终于跑成功了,解决的过程就是一个渐渐认...
对于同一目录下的云桌面,系统采用企业安全组控制进出流量。默认情况下,同一安...
如今,很多首席信息官或首席技术官都对容器技术有所了解,因此调研机构Gartner公...