diff options
| author | chaoc <[email protected]> | 2023-07-18 10:03:33 +0800 |
|---|---|---|
| committer | chaoc <[email protected]> | 2023-07-18 10:03:33 +0800 |
| commit | 25c6703f61f11650c81436779eccc00daf760d40 (patch) | |
| tree | 6a05223a672b9898a6da365d2a8479ceeeae1aac | |
| -rw-r--r-- | .gitignore | 35 | ||||
| -rw-r--r-- | README.MD | 41 | ||||
| -rw-r--r-- | pom.xml | 129 |
3 files changed, 205 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d769462 --- /dev/null +++ b/.gitignore @@ -0,0 +1,35 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store
\ No newline at end of file diff --git a/README.MD b/README.MD new file mode 100644 index 0000000..0c2167d --- /dev/null +++ b/README.MD @@ -0,0 +1,41 @@ +# Flink-Networks + +Flink-Networks 是一个专为使用 Apache Flink 进行网络流量数据流处理和分析而设计的综合工具包。它提供了各种组件和工具,以便在 Flink 应用程序中集成、处理和序列化网络流量数据。 + + +# Feature +## UDP Connector + +Flink-Networks 包含一个自定义的 UDP 连接器,使 Flink 能够直接读取 UDP 数据包。该连接器允许您无缝地将 UDP 数据源中的网络流量数据集成到 Flink 流式处理管道中,无需中间组件或复杂的设置过程。 + +## IPfix Format + +该工具包还支持解析 IPfix(Internet Protocol Flow Information Export)协议。IPfix 格式提供了一种标准化的方法来收集和导出网络流量流信息。借助 Flink-Networks 中的 IPfix-Format 支持,您可以轻松解码 IPfix 记录,并利用其中包含的丰富信息进行进一步处理和分析。 + +# 可扩展性 + +除了 UDP 连接器和 IPfix 格式支持外,Flink-Networks 还旨在扩展其功能集,以涵盖与网络流量和数据序列化相关的各个方面。未来的更新可能包括针对不同网络协议的其他连接器,支持其他流量格式的能力以及增强的序列化选项,以满足各种网络分析需求。 + +# 入门指南 + +要在您的 Flink 项目中开始使用 Flink-Networks,请按照以下步骤操作: + +- 克隆 Flink-Networks 仓库: + +```shell +git clone https://github.com/your-username/flink-networks.git +``` + +- 使用您偏好的构建系统(例如 Maven、Gradle)构建工具包。 + +- 在 Flink 项目配置中将 Flink-Networks 库添加为依赖项。 + +- 从 Flink-Networks 中导入所需的类和组件到您的 Flink 应用程序代码中。 + +- 根据需要在您的流式处理管道中使用 UDP Connector 或 IPfix Formt 支持。 + +有关如何使用 Flink-Networks 的不同组件的详细示例和文档,请参阅仓库的 Wiki 部分。 + +致谢 + +Flink-Networks 基于 Apache Flink 强大的功能构建,并旨在在 Flink 生态系统中提供无缝集成和增强的网络流量数据处理支持。 @@ -0,0 +1,129 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <groupId>com.geedgenetworks</groupId> + <artifactId>flink-networks-parent</artifactId> + <version>1.0-SNAPSHOT</version> + + <properties> + <java.version>11</java.version> + <maven.compiler.source>${java.version}</maven.compiler.source> + <maven.compiler.target>${java.version}</maven.compiler.target> + <flink.version>1.15.4</flink.version> + <scala.binary.version>2.12</scala.binary.version> + <scala.version>2.12.15</scala.version> + <slf4j.version>1.7.32</slf4j.version> + <log4j.version>2.17.1</log4j.version> + </properties> + + <dependencyManagement> + <dependencies> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <version>${slf4j.version}</version> + </dependency> + + <dependency> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-slf4j-impl</artifactId> + <version>${log4j.version}</version> + </dependency> + + <dependency> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-api</artifactId> + <version>${log4j.version}</version> + </dependency> + + <dependency> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-core</artifactId> + <version>${log4j.version}</version> + </dependency> + + <dependency> + <!-- API bridge between log4j 1 and 2 --> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-1.2-api</artifactId> + <version>${log4j.version}</version> + </dependency> + + <dependency> + <groupId>org.scala-lang</groupId> + <artifactId>scala-library</artifactId> + <version>${scala.version}</version> + </dependency> + + <dependency> + <groupId>org.scala-lang</groupId> + <artifactId>scala-reflect</artifactId> + <version>${scala.version}</version> + </dependency> + + <dependency> + <groupId>org.scala-lang</groupId> + <artifactId>scala-compiler</artifactId> + <version>${scala.version}</version> + </dependency> + </dependencies> + </dependencyManagement> + + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <version>2.9.1</version><!--$NO-MVN-MAN-VER$--> + <configuration> + <quiet>true</quiet> + <detectOfflineLinks>false</detectOfflineLinks> + <additionalJOptions combine.children="append"> + <additionalJOption>-Xdoclint:none</additionalJOption> + </additionalJOptions> + </configuration> + </plugin> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.8.0</version> + <configuration> + <source>${java.version}</source> + <target>${java.version}</target> + <useIncrementalCompilation>false</useIncrementalCompilation> + <compilerArgs> + <arg>-Xpkginfo:always</arg> + </compilerArgs> + </configuration> + </plugin> + + <plugin> + <groupId>net.alchim31.maven</groupId> + <artifactId>scala-maven-plugin</artifactId> + <version>3.2.2</version> + <configuration> + <args> + <arg>-nobootcp</arg> + <arg>-target:jvm-${java.version}</arg> + </args> + <jvmArgs> + <arg>-Xss2m</arg> + </jvmArgs> + </configuration> + </plugin> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-shade-plugin</artifactId> + <version>3.1.1</version> + </plugin> + </plugins> + </pluginManagement> + </build> + +</project>
\ No newline at end of file |
