中间件学习--InfluxDB部署(docker)及springboot代码集成实例
# 使用Debian为基础镜像
FROM debian:buster-slim
# 安装InfluxDB
RUN apt-get update && apt-get install -y influxdb
# 复制InfluxDB配置文件
COPY influxdb.conf /etc/influxdb/influxdb.conf
# 设置环境变量,指定配置文件
ENV INFLUXDB_CONFIG_PATH /etc/influxdb/influxdb.conf
# 暴露端口
EXPOSE 8086
# 启动InfluxDB服务
CMD ["influxd", "-config", "/etc/influxdb/influxdb.conf"]
import org.influxdb.dto.BatchPoints;
import org.influxdb.dto.Point;
import org.influxdb.dto.Query;
import org.influxdb.impl.InfluxDBImpl;
import org.influxdb.InfluxDBFactory;
import java.util.concurrent.TimeUnit;
public class InfluxDBService {
private InfluxDBImpl influxDB;
public InfluxDBService(String url, String user, String password, String database) {
influxDB = (InfluxDBImpl) InfluxDBFactory.connect(url, user, password);
influxDB.setDatabase(database);
}
public void writeData(String measurement, String tag, String field, Long value) {
Point point = Point.measurement(measurement)
.tag(tag, tag)
.addField(field, value)
.build();
influxDB.write(point);
}
public void queryData(String query) {
Query querySpec = new Query(query, influxDB.getDatabase());
influxDB.query(querySpec);
}
public void close() {
influxDB.close();
}
}
在这个示例中,我们首先创建了一个Dockerfile,用于构建包含InfluxDB的Docker镜像。然后,我们提供了一个简单的Java类,用于与InfluxDB交互,包括写入数据和执行查询。这个类使用了InfluxDB客户端库来与InfluxDB服务器进行通信。
评论已关闭