Dapr+k8s+알파제로
7296 단어 KubernetesgRPCdaprtech
제품
언어
Dapr이란
마이크로 서비스로 응용 프로그램을 간단하게 구축할 수 있는 소프트웨어다.나는 이것이 Istio 등(인터넷) 서비스점포와 같은 기능을 가지고 있다고 생각하지만 공식.에 따르면 서비스점포와 다른 것 같다.여러 가지 편리한 기능이 있지만 이번 개발에서 서비스 간의 통신은 Dapr의 주요 역할이다.
개요
서비스의 전체적인 상황은 아래 그림과 같다.
Dapr 서비스 간 통신 사용
API 간에 통신할 때 Dapr을 통해 사이드카로 통신합니다.예를 들어, Front에서 CP로 요청을 보낼 때
이런 흐름에 호응도 세드차를 통해 통신된다.고객은 서버
app-id
를 지정하여 사이드카에 요청을 보내면 Dapr에서 다양한 서비스를 제공합니다.Dapr on Kubernetes
app-id
Kubernetes의 선언에 기술되었다.예를 들어 CP의 선언은 다음과 같습니다.apiVersion: apps/v1
kind: Deployment
metadata:
~~~
spec:
~~~
template:
metadata:
labels:
app: cp
annotations:
dapr.io/enabled: "true"
dapr.io/app-id: "cpapi"
dapr.io/app-port: "5000"
dapr.io/app-protocol: "grpc"
dapr.io/config: "appconfig"
spec:
~~~
dapr.io/app-id
의 부분은 app-id
로 설정되었다.CP와 통신하려면 지정cpapi
하면 OK라는 것이다.app-id
HTTP의 경우
요청을
http://localhost:{DAPR-PORT}/v1.0/invoke/{APP-ID}/method
형식으로 보냅니다.따라서 CP에게 요청을 보내려는 경우http://localhost:3500/v1.0/invoke/cpapi/method
.gRPC의 경우 지정된 metadata
app-id
를 전송합니다.예를 들면 Node입니다.만약 js라면 아래와 같이 메타데이터를 줄 수 있습니다.const metadata = new grpc.Metadata();
metadata.add('dapr-app-id', 'server');
client.sayHello({ name: "Darth Malgus" }, metadata)
tracing
분산 추적 시스템으로 zipkin을 사용했습니다.Kubbernetes 선언
dapr.io/config
에서 지정한 appconfig에서 zipkin의 설정을 다음과 같이 하면 zipkin의 선언을 간단하게 가져올 수 있습니다.apiVersion: dapr.io/v1alpha1
kind: Configuration
metadata:
name: appconfig
spec:
tracing:
samplingRate: "1"
zipkin:
endpointAddress: "http://zipkin.default.svc.cluster.local:9411/api/v2/spans"
컴퓨터.
컴퓨터는 복잡한 논리를 고려하기가 어려워서 간단한 것을 선택했다.레벨 1~3 이하입니다.
이번에 제가 서버 부분을 직접 썼는데 TensorFlow Serving 이런 걸 쓰면 편할 것 같아요.
덤
자기가 열심히 해도 실패할 때 웃는다.
(규격에 따라) CPU가 완전히 돌아가고 있으니 가능하면 시험해 보세요!
Reference
이 문제에 관하여(Dapr+k8s+알파제로), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/chiru1221/articles/9b9a6ee49d1cc7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)