- public : 외부 클라이언트들이 접근 (app, web, ...) (8081 port)
- private : public 서비스에서만 접근가능. http 통신 (8082 port)
- grpcClient : 8083 port로 http 요청을 받는다. grpcServer와 통신하기위해 grpc 호출부를 구현하고있다
- grpcServer : grpc로 인터페이스를 제공하고 8084 포트를 가진다. http통신을 사용하지 않는다.
- run zipkin with docker (install docker)
docker run -d -p 9411:9411 openzipkin/zipkin
- generate proto for grpc (grpcClient, grpcServer)
./gradlew :grpcClient:generateProto :grpcServer:generateProto
- run services
IDE 를 통해 각각 실행해도 무관.
./gradlew :publicService:bootrun
./gradlew :privateService:bootrun
./gradlew :grpcClient:bootrun
./gradlew :grpcServer:bootrun
curl http://localhost:8081/success
curl http://localhost:8081/success/async
grpcClient에서 고의적으로 HttpStatus 500 으로 응답 오류가 난 부분은 붉게 표시됨을 확인 할 수 있다.
curl http://localhost:8081/fail