2016-11-25 7 views
3

gRPC-Go을 사용하면 복원력 있고 성능이 뛰어나고 확장 가능한 분산 시스템을 구축 할 수 있습니다. 내가 얻지 못하는 것은 실제로 그 서비스로 작성된 서비스를 어떻게 디버그 할 것인가이다. 또한 HTTP/2는 wire protocol 만 지원합니까?어떻게 gRPC-Go 서비스를 디버깅합니까?

+2

'GRPC_TRACE' 환경 변수를'all'으로 설정하여 디버그 할 수 있습니다. HTTP/2에 관해서는 보안 및 안정성 문제로 인한 것이라고 생각합니다. 내가 틀릴 수도 있지만 – khuderm

+0

고마워요 @ khuderm ... 그럼, 대체 쓰기 프로토콜을 사용할 수 있습니까? –

+1

죄송합니다. 하나도 없지만 100 % 확신 할 수 없습니다. – khuderm

답변

1

솔루션을 아직 찾지 못했지만 애플리케이션에있는 서비스 수에 따라 분산 된 추적 시스템을 사용하여 서비스간에 통화를 기록 할 수 있습니다. 이러한 시스템 중 일부는 다음과 같습니다

당신이 opentracing 프로젝트 (http://opentracing.io/)를 사용하는 경우, 당신이 할 수있는 추상적 인 당신의 추적 시스템에 정보를 전송하는 코드에서 클라이언트 및 서버의 코드 추적. 예를 들어 OpenTracing의 Trace 문을 사용하여 클라이언트와 서버를 계측 할 수 있습니다. 추적 형식을 올바른 형식으로 푸시하는 Zipkin 또는 Jaeger Tracer에 대한 추적 구현을 ​​전환 할 수 있습니다.

사용할 gRPC reay를위한 opentracing 바인딩이 있습니다. https://github.com/grpc-ecosystem/grpc-opentracing