나의 10월 회고
혼자 독학 하려고 이것저것 찾아보던 docker 랑 kube를 드디어 배우게 되었다. 완전 배웠다기보단 맛 봤다 정도? 어떻게 쓰는지 정도만 아는 수준으로 맛을 본 것 같다.
docker 같은 경우 git 다음으로 개발자들이 많이 애용한다고 한다. 한번 맛 보니 이 이전으로 돌아갈 자신이 없다..
그래도 나의 경우에는.. 현재 docker 로 image를 받아서 container에 올리고 실행시키고 했던 모든 환경들을 혼자서 프로젝트로 구축을 해봤기 때문에..
원래는 어떤 작업인데.. docker를 사용하니 이렇게 편하게 설치없이도 사용이 가능하다 라는 것이 피부로 와닿을 수 있었다.
마치 쿼리를 모르고 jpa 만 사용하는 것 처럼 mysql 설치는 모르지만 docker pull mysql 은 알고 있는 신입 개발자 들이 생길 수 있겠다 라는 생각도 해 본다.
실제로 로컬에 mysql 을 설치하면 포트도 먹고 있고 계속 실행이 되고 있기 때문에 실제로 400~500mg정도도 먹기도 하고 말이다. docker를 알고 있으면 굳이..설치를 해야만 하는 이유도 있긴 하겠지만 아직 난 찾아오지 않았다.
뭐 이런 모듈들 뿐 아니라 , Dockerfile 을 이용해서 컨테이너실행이랑 docker-compose 전부 다 편하고 좋더라..
그리고 내 workflow 들을 docker repo 에 push하고 그걸 또 vm환경에서 써보니 매우 편하더라..
이렇게 편한 걸 사용하다보니 이론적으로 어떻게 돌아가는지에 대한 궁금증도 계속 커져가고 있다. 쿠버도 마찬가지다.
쿠버는 확실히 모든 것 들이 이해가 가지는 않지만.. 누가 어떤 역할을 하고 쿠버를 이용한 간단한 배포만 해본 상태이다.. docker도 kube도 아직 부족한 나로서는 조금 더 보강 할 수 없을까 하는 갈증이 들어서 여러가지 방면으로 개념 보강중이다.
그리고 파이널 프로젝트에 들어서게 되었다.
나는 이번 프로젝트 에서는 새로운 서비스를 처음부터 만든다기보다 이전에 했었던 소모임 프로젝트를 몇가지 기능을 추가해서 고도화 시키려고 한다.
그리고 짜놨던 기능들, 그리고 MSA 의 핵심 분산 트랜잭션에 대해서도 공부를 하기 위해 팀원과 회의 후에 몇몇개의 기능을 추가하기로 했다.
아래에 추가 예정인 기능들을 나열해보겠다.
검색 기능 ( 유사 검색, 오탈자 검색, 추천 검색, 실시간 검색 )
위치 기반 시스템 ( 내 위치 찾기 및 비슷한 위치 게시글 추천 )
알림 기능 ( WebSocket )
화상 채팅 ( RTC )
결제 기능 ( 결제 모듈을 쓰는 것 이 아닌 결제 모듈 서버가 어떻게 돌아가는지에 대한 상상 및 설계 후 결제 서버 구축 )
경매 & 공동구매 & 크라우드 펀딩 ( 선택해서 할 듯 )
안전페이 ( p2p 결제 중개 )
spring cloud 걷어내고 kube로 배포 및 jenkins 스크립트 CI/CD
이번 프로젝트 기간동안 위의 기능들을 고도화 시킬 예정이다.
Keep
final project 전략적 선택 ! 훌륭하다고 생각한다.
Problem
Microservice Architecture pattern 에 대해..숙지해야 할 듯..
Try
Microservice Architecture pattern
Distributed transaction
Final Action Item
Microservice Architecture pattern
Distributed transaction
Kafka Connect
Artillery
Multi Socket Server