当前位置: 首页 > 工具软件 > Aeron > 使用案例 >

Aeron调研前环境准备

祁正浩
2023-12-01

Aeron(GitHub:https://github.com/real-logic/aeron) 是一个可靠高效的 UDP 单播 UDP 多播和 IPC 消息传递工具。Aeron 的设计旨在达到 高吞吐量 低开销 和 低延迟。底层通讯包协议使用SBE(GitHub:https://github.com/real-logic/simple-binary-encoding),号称比谷歌的Protobuffer快20倍。

Aeron适合在通讯包相对小(64k以内零拷贝),吞吐、延迟要求极高的场景使用。

调研前,先建一个maven项目,我用的Eclipse工程,Aeron官方开发使用的IDEA,我不贡献代码,也就无所谓IDE工具了。

理论上只需要引用aeron-all包即可,我还需要看官方Samples,所以多引用一个HdrHistogram包,编译环境官方要求JDK8(65版本以上),所以配置pom如下(build标签是我加的,便于开发,请根据个人配置喜好调整):

		<!-- https://mvnrepository.com/artifact/io.aeron/aeron-all -->
		<dependency>
			<groupId>io.aeron</groupId>
			<artifactId>aeron-all</artifactId>
			<version>1.24.0</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.hdrhistogram/HdrHistogram -->
		<dependency>
			<groupId>org.hdrhistogram</groupId>
			<artifactId>HdrHistogram</artifactId>
			<version>2.1.12</version>
		</dependency>


	<build>
		<!-- 打包资源文件 -->
		<resources>
			<resource>
				<directory>src/main/java</directory>
				<excludes>
					<exclude>**/*.java</exclude>
				</excludes>
			</resource>
			<resource>
				<directory>src/main/resources</directory>
				<excludes>
					<exclude>**/*.java</exclude>
				</excludes>
			</resource>
		</resources>
		<plugins>
			<!-- 资源文件拷贝插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>2.7</version>
				<configuration>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<!-- java编译插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<!-- 编译时忽略测试 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<skip>true</skip>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<executions>
					<execution>
						<id>attach-sources</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

好,初步工作准备就绪。

 

 

 类似资料: