microservices 조사를 향해 ~ activator-play-tracing을 사용해보십시오!
1. 하고 싶은 일
이전 게시물 에서 docker-compose를 이용하여 zipkin 서비스를 손쉽게 움직일 수 있게 되었으므로 playframework를 이용하여 zipkin에 레코드를 등록할 수 있는지 시도해 보았습니다.
lightbend 사이트를 보면 activator template가 제공되었기 때문에 움직이기로 결정했습니다.
2. 실시 순서
2-1. 템플릿을 git clone
git clone https://github.com/levkhomich/activator-play-tracing.git
2-2. conf/application.conf의 Zipkin 호스트 수정
cd activator-play-tracing
vim conf/application.conf
편집하는 부분은 host만이 됩니다.
conf/application.conf
akka {
extensions = ["com.github.levkhomich.akka.tracing.TracingExtension"]
tracing {
sample-rate = 1
enabled = true
host = "ここを書き換える"
port = 9410
}
}
위가 akka-tracing의 TracingExtension.scala에서 읽혀진 것 같습니다.
activator 샘플의 소스에서는,
GlobalSettings
(을)를 사용하고 있는 것 같습니다. . .그리고, akka-tracing의 소스에서도
GlobalSettings
(을)를 사용하고 있는 것 같은. . .2-3. activator 시작
./activator
잠시 동안 의존이 해소되기를 기다리면 콘솔에 들어갈 수있었습니다.
2-4. application 시작
run
시작하면 다음과 같은 화면이 시작됩니다.
2-5. Zipkin의 WEB UI를 확인해 본다
풀다운에
application
라는 태그가 추가되었음을 알 수 있습니다.템플릿으로 시작하면 쉽게 사용할 수 있는 인상입니다.
다만, 0으로부터 스스로 만든 프로젝트로, 튜토리얼 설정를 하는 것만으로, 아래와 같은 메세지가 나와 이용 불가와 같이 보입니다.
[error] - com.github.levkhomich.akka.tracing.SpanHolder - Thrift transport error: Cannot write to null outputStream
[error] - com.github.levkhomich.akka.tracing.SpanHolder - Zipkin collector is unavailable. Failed to send 0 spans during postStop.
[info] - play.api.Play - Application started (Dev)
접속 불량이 일어나고 있는 것 같은. .
3. activator-play-tracing의 처리 흐름의 추측
play의 응용 프로그램이 시작되기 전에 다음과 같은 움직임을하고 있다고 생각합니다.
(잘못되었으면 누군가 지적해 주세요(><))
TracingSettings
입니다. TracingSettings
에서 conf/application.conf
의 설정을 읽고 Thrift 통신 연결을 open 어플리케이션이 개시되면(자), Controller이면, extends 된
PlayControllerTracing
경유로 트레이스가 실시된다. (여기도 디버깅하면서 확인하려고합니다)4. 소감
GlobalSettings
비추천입니다. . htp // d. 하테나. 네. jp/ぅぇい/20160305/1457174406오늘은 이상입니다.
Reference
이 문제에 관하여(microservices 조사를 향해 ~ activator-play-tracing을 사용해보십시오!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/letusfly85/items/dababe8bf7c1c04090b8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)