argo는 kubernetes api를 이용하여 다양한 서비스를 제공하는 오픈소스 입니다. 컨테이너를 생성하고 관리할 수 있어서 파이프라인, 워크플로우에서 활용할 수 있습니다. kubeflow도 파이프라인 관리에 내부적으로 argo를 사용하고 있습니다. argo는 argo-cd, argo-event, argo-workflow 등 다양하게 활용되고 있습니다. ci/cd에서도 argo 활용이 두드러지지만 저는 workflow로 사용하면서 느낀 점과 그 과정에서 argo 소스코드를 살펴본 부분을 공유드리겠습니다. jenkins pipeline이나 python airflow도 파이프라인, 워크플로우를 처리하는 좋은 솔루션입니다. 하지만 모두 약간씩 아쉬움이 있습니다. 별도의 제약조건 없이 거의 모든 것을 파이프..
golang 환경에서 grpc로 서버를 개발하다보면, grpc conn 객체를 어떻게 관리할지 항상 고민이었습니다. 여러 클라이언트와 통신하면 각자 커넥션을 맺어야할지, 여러번 통신하면 Dial을 매번 요청해야할지, conn 객체와 client 객체 중 무엇을 보관해야하는지 구글링을 통해 얻은 grpc 다루는 노하우에 대해 정리하겠습니다. https://github.com/grpc/grpc-go/issues/682 Best practices for reusing connections, concurrency · Issue #682 · grpc/grpc-go Thank you for this great library! I wanted to inquire about an issue I'm having. I h..
golang으로 구현된 httpmq 코드 분석 해보겠습니다. 깃허브 주소는 아래와 같습니다. https://github.com/hnlq715/httpmq hnlq715/httpmq A simple HTTP message queue written in Go with goleveldb, just like httpsqs written in C with Tokyo Cabinet. - hnlq715/httpmq github.com 간단한 http 메시지 큐 golang 구현체입니다. `main.go`에 모두 구현되어 있어 코드 읽기가 쉽습니다. 대부분의 메시지 큐 구현이 database에 메시지를 저장하고 꺼내가는 구조로 되어 있습니다. 따라서 어떤 database를 사용했는지 보는 것이 중요합니다. httpmq..