Apps 샘플에서 Dapr 보기

Azure Container Apps.강좌에서 쉽게 시도할 수 있다.재미있었어
하지만 솔직히 이렇게 집행만 한다면 고객의 호출 방식이 의문이어서 조사해 봤습니다.

사용한 샘플의 상세한 설명


여기에 사용된 샘플은 다음 Dapr의 QuickStart를 소재로 한다.

클라이언트에서 호출


위 QuickStart에는 다음 코드가 사용됩니다.
dapr_port = os.getenv("DAPR_HTTP_PORT", 3500)
dapr_url = "http://localhost:{}/v1.0/invoke/nodeapp/method/neworder".format(dapr_port)

n = 0
while True:
    n += 1
    message = {"data": {"orderId": n}}

    try:
        response = requests.post(dapr_url, json=message)
    except Exception as e:
        print(e)

    time.sleep(1)
값을 업데이트하기 위해 정기적으로 WebAPI 서버 애플리케이션에 HTTP 요청을 제출합니다.
Container Apps 튜토리얼에 사용된 컨테이너 이미지dapriosamples/hello-k8s-python:latest도 별도 부팅 확인 후 위 코드가 그대로 사용됐다.

localhost 괜찮아요?


그래서 여기서 "수취자는 localhost 인가요?"이런 데 신경 쓰여."서버 애플리케이션은 다른 Pod로 시작하기 때문에 localhost는 통신할 수 없는 거죠?"잠깐만요.
결론부터 말하자면 여기에는 Dapr의 기능을 사용했고 "이렇게 하면 OK"라고 말했다.
호출된 구조에 관해서는 아래 문서의 도형에 그림을 붙이기 쉽다고 생각합니다.

이렇게 DAPR_HTTP_PORT로서의 tcp:3500에 요청을 던지면 요청은 사이드카로 설계된 Dapr용기로 전송되고 그곳에서 목적 서비스에 대한 요청이 전송되는 구조입니다.
다음 페이지에서는 Dapr 공식 문서에 대해 자세히 설명합니다.

끝말


그리고 이 Dapr 인프라를 간단하게 구현할 수 있는 Container Apps가 다시 한 번 대단하다고 느꼈습니다.
제품 환경에 아직 부족한 기능이 있지만 여러분들이 끊임없이 진화하기를 바라는 서비스라고 생각합니다.

좋은 웹페이지 즐겨찾기