随笔分类 - google
摘要:在Thrift,Protobuf和avro序列化框架中,不约而同使用了zigzag编码来对数字进行编码,从而达到减少数据传输量的目的。 zigzag算法的核心主要是去除二进制数字中的前导0,因为在绝大多数情况下,我们使用到的整数,往往是比较小的。 参考:小而巧的数字压缩算法:zigzag 在avro
阅读全文
摘要:1.proto2 1.protobuf的github地址 https://github.com/protocolbuffers/protobuf 去releases下载需要的版本 https://github.com/protocolbuffers/protobuf/releases 选择2.5.0
阅读全文
摘要:1.CaseFormat CaseFormat是guava中用于字符串格式转换的工具,有以下几种类型 UPPER_CAMEL,比如 UpperCamel UPPER_UNDERSCORE,比如 UPPER_UNDERSCORE LOWER_CAMEL,比如 lowerCamel LOWER_HYPH
阅读全文
摘要:官方文档 https://grpc.io/docs/languages/java/quickstart/ 官方example https://github.com/grpc/grpc-java 1.定义proto文件 syntax = "proto3"; option java_multiple_f
阅读全文
摘要:使用protoc命令生成service代码的时候,需要使用如下命令 protoc --plugin=protoc-gen-grpc-java=./protoc-gen-grpc-java -I=./ --java_out=./src/main/java/ --grpc-java_out=./src/
阅读全文
摘要:官方文档 https://grpc.io/docs/languages/go/quickstart/ 官方example https://github.com/grpc/grpc-go 1.定义proto文件 syntax = "proto3"; option go_package = "googl
阅读全文
摘要:1. 字符串转JsonObject JsonObject origJson = new JsonParser().parse(str).getAsJsonObject(); 2. JsonObject转字符串 String str = outputJson.toString(); 3. List转J
阅读全文
摘要:avro-protobuf项目提供ProtobufDatumReader类,可以用于从protobuf定义生成的java class中获得avro schema 使用方法如下: 1.引入依赖 <dependency> <groupId>org.apache.avro</groupId> <artif
阅读全文