본문 바로가기

[개발 배포 환경 1] Docker란 Python을 비롯해서, Angular를 이용한 개발을 진행하다 보면 개발 환경과 운영 환경을 동일하게 유지하는 부분에 대해서 많은 고민을 하게 되었다. 그런 고민을 해결하기 위해서 Docker에 대한 Study가 필요했고 이를 위해 Docker에 대한 research 및 개발 배포 환경 적용에 대해 진행해해보면서 글을 써볼까 한다. Docker에 대한 이해를 위해서는 우선 container에 대한 이해가 필요하다. Container는 application과 그에 대한 의존성 라이브러리들을 캡슐화한 것이다. 어떻게 보면 Container는 VM(Virtual Machine)을 경량화한 것으로 생각하기 쉬운데..... VM과 마찬가지로 OS에서, application을 돌릴 수 있는 isolated 환경을.. 더보기
브리다 에서 "일단 길을 발견하게 되면 두려워해선 안되네. 실수를 감당할 용기도 필요해. 실망과 패배감, 좌절은 신께서 길을 드러내 보이는 데 사용하는 도구일세""서점 책장들을 가득 채운 오래된 개론서들이 말하듯, 결국 모든 것은 출발점으로 돌아가게 되어 있었다." 더보기
Apache Kafka - Consumer Messaging은 전통적으로 queuing과 publish-subscribe로 나눌 수 있다.Queue는 기존적인 자료 구조인 queue라고 보면 된다. Queue에서 데이터를 한번 읽으면 지워지게 된다. 그렇기 때문에, 여러개의 consumer가 한가지 queue를 읽을 경우, 각 consumer는 전체 데이터의 일부만 읽게 되는 것이다.Publish-subscribe는 message를 queue와는 달리 broadcast해서 모든 consumer에게 전달하는 것을 의미한다. 이런 경우에 여러개의 consumer가 동시에 전체 데이터를 다 읽을 수 있다.Apache Kafka의 경우 위에서 언급한 두가지 모델을 모두 포함하는 구조이다.Consumer가 같은 consumer group 안에 있게 되면 .. 더보기