avro是hadoop的一个子项目,提供的功能与thrift、Protocol Buffer类似,都支持二进制高效序列化,也自带RPC机制,但是avro使用起来更简单,无需象thrift那样生成目标语言源代码,目前支持的语言有java、c#、php、c++等(详情见:https://cwiki.apache.org/confluence/display/AVRO/Supported+Languages),hadoop生态圈中的hive、pig已经在使用avro

rpc框架之avro 学习 1 - hello world

avro-client模块中的pom.xml参考以下内容:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 5     <modelVersion>4.0.0</modelVersion>
 6 
 7     <groupId>yjmyzz.avro</groupId>
 8     <artifactId>avro-client</artifactId>
 9     <version>1.0</version>
10 
11     <properties>
12         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
13         <compiler-plugin.version>2.3.2</compiler-plugin.version>
14         <avro.version>1.7.5</avro.version>
15     </properties>
16 
17     <dependencies>
18         <dependency>
19             <groupId>junit</groupId>
20             <artifactId>junit</artifactId>
21             <version>4.10</version>
22             <scope>test</scope>
23         </dependency>
24         <dependency>
25             <groupId>org.slf4j</groupId>
26             <artifactId>slf4j-simple</artifactId>
27             <version>1.6.4</version>
28             <scope>compile</scope>
29         </dependency>
30         <dependency>
31             <groupId>org.apache.avro</groupId>
32             <artifactId>avro</artifactId>
33             <version>${avro.version}</version>
34         </dependency>
35         <dependency>
36             <groupId>org.apache.avro</groupId>
37             <artifactId>avro-ipc</artifactId>
38             <version>${avro.version}</version>
39         </dependency>
40 
41         <dependency>
42             <groupId>yjmyzz.avro</groupId>
43             <artifactId>avro-contract</artifactId>
44             <version>1.0</version>
45         </dependency>
46     </dependencies>
47 
48     <build>
49         <plugins>
50             <plugin>
51                 <groupId>org.apache.maven.plugins</groupId>
52                 <artifactId>maven-compiler-plugin</artifactId>
53                 <version>${compiler-plugin.version}</version>
54             </plugin>
55             <plugin>
56                 <groupId>org.apache.avro</groupId>
57                 <artifactId>avro-maven-plugin</artifactId>
58                 <version>${avro.version}</version>
59                 <executions>
60                     <execution>
61                         <id>schemas</id>
62                         <phase>generate-sources</phase>
63 
64                         <goals>
65                             <goal>schema</goal>
66                             <goal>protocol</goal>
67                             <goal>idl-protocol</goal>
68                         </goals>
69                     </execution>
70                 </executions>
71             </plugin>
72         </plugins>
73     </build>
74 
75 
76 </project>
View Code

相关文章:

  • 2022-02-02
  • 2022-12-23
  • 2021-09-10
  • 2018-03-24
  • 2022-12-23
猜你喜欢
  • 2021-05-21
  • 2022-03-04
  • 2022-12-23
  • 2022-01-21
相关资源
相似解决方案