protocol buffer 소개
3725 단어 마이크로 서비스
일반적인 데이터 교환 형식
protobuf의 우세와 열세
우세하다
[https://blog.csdn.net/hbshhb/article/details/90708132]:
protobuf 문법
syntax = "proto3"; // ,
package pb; // go
//message ,
message Person{
//
string name = 1;
//
int32 age = 2 ;
//
repeated string emalis =3;
//
repeated string phones =4;
// repeated , go
}
메시지 형식 설명
//주석 형식 주석도 가능한 한 내용 위(필드 수식자) 데이터 형식 필드 이름 = 유일한 번호 라벨 값;
데이터 형식
.proto 유형
Go 유형
소개하다.
double
float64
64비트 부동 소수점
float
float32
32비트 부동 소수점 수
int32
int32
가변 길이 인코딩을 사용합니다.인코딩 마이너스 효율이 낮습니다. 필드에 마이너스가 있을 수 있으면sint32로 변경하십시오.
int64
int64
가변 길이 인코딩을 사용합니다.인코딩 마이너스 효율이 낮습니다. 필드에 마이너스 값이 있을 수 있으면sint64로 변경하십시오.
uint32
uint32
가변 길이 인코딩을 사용합니다.
uint64
uint64
가변 길이 인코딩을 사용합니다.
sint32
int32
가변 길이 인코딩을 사용합니다.기호 정수 값.이것들은 일반적인 int32s 인코딩 음수보다 더 효과적이다.
sint64
int64
가변 길이 인코딩을 사용합니다.기호 정수 값.이것들은 일반적인 int64s 인코딩 음수보다 더 효과적이다.
fixed32
uint32
항상 4바이트입니다.값이 보통 228보다 크면 uint 32보다 더 유효합니다
fixed64
uint64
항상 8 바이트.값이 보통 256보다 크면 uint64보다 더 유효합니다
sfixed32
int32
항상 4바이트입니다.
sfixed64
int64
항상 8 바이트.
bool
bool
부울 유형
string
string
문자열은 항상 UTF - 8 인코딩 또는 7비트 ASCII 텍스트를 포함해야 합니다.
bytes
[]byte
임의의 바이트 시퀀스를 포함할 수 있습니다
구조체 중첩
syntax = "proto3"; // ,
package pb; // go
//message ,
message Person{
//
string name = 1;
//
int32 age = 2 ;
//
repeated string emali =3;
//
repeated PhoneNumber phones =4;
// repeated , go
}
//message ,
message PhoneNumber {
string number = 1;
int64 type = 2;
}
열거 유형
syntax = "proto3"; // ,
package pb; // go
//message ,
message Person {
string name = 1; //
int32 age = 2; //
repeated string emails = 3; // (repeated )
repeated PhoneNumber phones = 4; //
}
//enum ,
enum PhoneType {
MOBILE = 0;
HOME = 1;
WORK = 2;
}
//message ,
message PhoneNumber {
string number = 1;
PhoneType type = 2;
}
기본 기본값
메시지가 해결될 때 인코딩된 정보에 특정 요소가 포함되지 않으면 해결된 객체 잠금에 해당하는 도메인이 다음과 같은 기본값으로 설정됩니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
마이크로 서비스 간에feign을 통해 서로 호출되며, 크로스 서버 호출 시 이상이 발생: No route to host해결: feign이 다른 서비스를 호출하는 것도 eureka 등록센터 서비스를 획득하여 서비스가 등록된 IP에 문제가 있는지 추측하고 지정한 appId의 실례를 조회한다. eureka url/eureka/apps/{...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.