콘텐츠로 이동

gRPC 서버 설정

이 항목은 해당 기능의 사용 방법, 설정, 주의 사항을 설명합니다.

zRPC 서버 설정 Structure 상태 below:

type RpcServerConf struct {
service.ServiceConf
ListenOn string
Etcd discov.EtcdConf `json:",optional,inherit"`
Auth bool `json:",optional"`
Redis redis.RedisKeyConf `json:",optional"`
StrictControl bool `json:",optional"`
// 0으로 설정하면 타임아웃이 없다는 뜻입니다
Timeout int64 `json:",default=2000"`
CpuThreshold int64 `json:",default=900,range=[0:1000]"`
// gRPC 헬스 체크 스위치
Health bool `json:",default=true"`
Middlewares ServerMiddlewaresConf
}
NameDataTypeMeaning기본값 value필수?
ServiceConfServiceConf기본 서비스 설정NoneYES
ListenOnstringListening addressNoneYES
EtcdEtcdConfetcd 설정 ItemNone없음
인증bool인증 활성화됨None없음
RedisRedisKeyConfrpc 인증, 만 경우 인증 is trueNone없음
StrictControlboolWhether Strict Mode, 경우 오류 is 인증 failed, otherwise it can be considered successfulNone없음
타임아웃int64타임아웃2000ms없음
CpuThresholdint64Downloading 임계값,기본값 900(90%),Allow range 0 로 1000900없음
헬스bool활성화 헬스 체크true없음
MiddlewaresServerMiddlewaresConf활성화 미들웨어None없음

위한 ServiceConfig general 설정, see 기본 서비스 설정.

이 항목은 해당 기능의 사용 방법, 설정, 주의 사항을 설명합니다.

type EtcdConf struct {
Hosts []string
Key string
ID int64 `json:",optional"`
User string `json:",optional"`
Pass string `json:",optional"`
CertFile string `json:",optional"`
CertKeyFile string `json:",optional=CertFile"`
CACertFile string `json:",optional=CertFile"`
InsecureSkipVerify bool `json:",optional"`
}
NameDataTypeMeaning기본값 value필수?
HostsString 타입 Arrayetcd cluster addressNoneYES
KeystringDefines unique expression 의 서비스, 사용됨 위한 서비스 registration 디스커버리NoneYES
Userstringetcd usernameNone없음
Passstringetcd passwordNone없음
CertFiletringCertificate 파일None없음
CertKeyFilestring비공개 key 파일None없음
CACertFileStringCA Certificate 파일None없음
type (
// A, RedisConf 예시입니다
RedisConf struct {
Host string
Type string `json:",default=node,options=node|cluster"`
Pass string `json:",optional"`
Tls bool `json:",optional"`
}
// RedisKeyConf는 key를 포함한 redis 설정입니다.
RedisKeyConf struct {
RedisConf
Key string
}
)
NameDataTypeMeaning기본값 value필수?
호스트stringRedis address, 호스트+포트NoneYES
타입stringRedis 타입node없음
PassstringRedis passwordNone없음
Tlsbool활성화 tlsfalse없음
KeystringRedis keyNoneYES

ServerMiddlewaresConf 설정:

ServerMiddlewaresConf struct {
Trace bool `json:",default=true"`
Recover bool `json:",default=true"`
Stat bool `json:",default=true"`
Prometheus bool `json:",default=true"`
Breaker bool `json:",default=true"`
}
NameDataTypeMeaning기본값 value필수?
추적bool활성화 link trackingtrue없음
RecoverboolWhether 또는 아님 로 활성화 abnormal capture intermediationtrue없음
StatboolWhether 로 turn 에서 stats intermediatetrue없음
Prometheusbool활성화 Prometheus 미들웨어true없음
브레이커bool활성화 브레이커 intermediatetrue없음