Java 数据上报API调用说明
- 如果您对API使用安全性有更高要求,可以在本SDK的基础上额外增加数据加密或签名验证等处理流程。
SDK引用
<!-- 使用MvnRepository中的最新版本即可,请使用2.2.8或以上版本 -->
<dependency>
<groupId>com.dtstep.lighthouse</groupId>
<artifactId>lighthouse-shaded-client</artifactId>
<version>2.2.8</version>
</dependency>
调用示例
范例代码请参考单元测试:com.dtstep.lighthouse.core.test.api.RpcStatTest中的单元测试方法, 修改相应参数(xl-lighthouse注册中心服务地址,统计项id、统计组秘钥、查询维度、时间参数等)即可直接运行!
对外RPC接口说明
Lighthouse.init(String locators)
参数:locators,lighthouse远程RPC服务注册中心配置信息
作用:用于RPC服务初始化。
LightHouse.stat(String token,final String secretKey,Map paramMap,long timestamp)
参数: token,统计组标识;secretKey,统计组秘钥;paramMap,原始消息参数信息;timestamp,消息事件13位时间戳;
作用:用于上报统计原始消息信息。
LightHouse.stat(String token,final String secretKey,Map paramMap,int repeat, long timestamp)
参数: token,统计组标识;secretKey,统计组秘钥;paramMap,原始消息参数信息;repeat,统计消息重复上报次数,默认为1,timestamp,消息事件13位时间戳;
作用:用于上报统计原始消息信息。
package com.dtstep.lighthouse.core.test.api;
import com.dtstep.lighthouse.client.LightHouse;
import com.dtstep.lighthouse.common.random.RandomID;
import org.junit.Test;
import java.util.HashMap;
import java.util.concurrent.ThreadLocalRandom;
public class RpcStatTest {
static {
try{
//修改rpc服务注册中心地址,集群模式为一主一从,默认为部署集群的前两个节点IP,使用逗号分割,单机模式为当前节点IP
//LightHouse.init("10.206.6.11:4061,10.206.6.12:4061");//集群模式初始化
LightHouse.init("10.206.6.31:4061");//单机模式初始化
}catch (Exception ex){
ex.printStackTrace();
}
}
@Test
public void orderStat() throws Exception {
long t = System.currentTimeMillis();
for(int i=0;i<6657;i++){
HashMap<String,Object> paramMap = new HashMap<>();
paramMap.put("order_id", RandomID.id(6));
paramMap.put("biz", RandomID.id(2));
paramMap.put("user_id", RandomID.id(6));
Double d = ThreadLocalRandom.current().nextDouble(1000);
paramMap.put("amount",String.format("%.3f", d));//防止上面随机数出现科学计数法
LightHouse.stat("N4C:order_stat","YEWU3tGjNQL1AevvC9FjNj9SCuvzpYPmLY5akKYz",paramMap,t);
}
System.out.println("send ok!");
Thread.sleep(300000);//client为异步发送,防止进程结束时内存中部分消息没有发送出去
}
}