protobuf 设计,避免频繁打包更新

简介: protobuf 设计,避免频繁打包更新

1.原始

syntax="proto3";
option java_package = "com.vince.xq";
option java_multiple_files=true;
option java_outer_classname="Profile";
message UserProfile {
  int32 id = 1;
  int32 age = 2;
  int32 sex = 3;
  optional Profile profile_1=4;
}
message Profile{
string name;
string update_time;
}

新增标签

optional Profile profile_1=4;

需要打包

2.修改后

syntax = "proto3";
package com.test.xq.schema;
option java_generate_equals_and_hash = true;
message Model {
    string face_id = 1; 
    string user_id = 2; 
    map tag = 3; // 标签值,key为tag_id,value为标签取值详情
}
message Tag {
    message TagInfo {
        string value = 1; // 标签具体的取值,存放挖掘好的标签结果值
        int32 score = 2; // 标签分值字段,0-100的分值
        map extend_info = 3; // 扩展字段,存放额外的标签信息
        string label = 4; //标签的分类
    }
    repeated TagInfo tag_info = 2; //  标签值是一个list
}

有多少个标签可以保存在数据库里面

优点:避免每次上线打包

 


目录
打赏
0
0
0
0
8
分享
相关文章
主从同步设置的重要参数log_slave_updates
说明:最近部署了mysql的集群环境,详细如下M01和M02为主主复制,M01和R01为主从复制;在测试的过程中发现了以下问题: 1、M01和M02的主主复制是没有问题的(从M01写入数据能同步到M02,从M02写入数据能够同步到M01); 2、主从同步的时...
2211 0
IDEA中使用org.springframework.boot.autoconfigure.AutoConfiguration.imports没有被识别
IDEA中使用org.springframework.boot.autoconfigure.AutoConfiguration.imports没有被识别
929 0
Java文档注解中@link与@see的使用详解
Java文档注解中@link与@see的使用详解
1451 0
MQ产品使用合集之RocketMQ发消息失败了,proxy报connect to null failed如何解决
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
1676 2
MQ产品使用合集之RocketMQ发消息失败了,proxy报connect to null failed如何解决
Netty入门到超神系列-Netty使用Protobuf编码解码
当我们的Netty客户端和服务端进行通信时数据在传输的过程中需要进行序列化,比如以二进制数据进行传输,那么我们的业务数据就需要有相应的编码器进行编码为二进制数据,当服务端拿到二进制数据后需要有相应的解码器进行解码得到真实的业务数据。
289 0
SpringBoot 统一功能处理:用户登录权限校验-拦截器、异常处理、数据格式返回 上
SpringBoot 统一功能处理:用户登录权限校验-拦截器、异常处理、数据格式返回 上
登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问