장 재휴(jaehue)https://jaehue.github.io/

2020-04-29
이 글은 적당히 갖춰나간 운영 환경 의 후속 글이다. 이전 글에서는 서비스의 외형적인 모습을 소개했다면, 이번 글에서는 그것을 가능하게 했던 내부의 문화를 소개한다. MSA Micro Service Architecture 이 삽질을 3년이나 하고 나서야 뼛속까지 알게 되었다. 이건 기술의 문제가 아니었다. 문화였고 일하는 방식이었다. 익스트림 프로그래밍 Extreme Programming, 이하 XP 이 소개된 지는 이미 20년이 넘었지만, 계속해서 XP를 얘기하는 이유는 MSA Micro Service Architecture 는 일하는 방식과 떼어서 얘기할 수 없기 때문이다. 아주 많은 작은 서비스들에게 역할과 책임을 부여하고, 그 서비스들이 상호 작용하며 만들어낸 서로 공존하는 상태. 그것이 바로 MSA 아니던가? 마이크로 서비스를 만드는 사람들이 이렇게 일을 하고 있지 않으면, 그건 거추장스러운 기술 셋으로 덧씌워진 또 다른 형태의...
2020-04-15
2016년, 중국 패션 리테일 영역의 클라우드 서비스 회사가 되겠다는 야심 찬 희망을 품고 아기 발걸음 [1] 을 시작했고, 2020년 현재 아래와 같은 구성을 갖추었다. 처음부터 이런 구성을 그려놓고 차근차근 갖춰 나간 것은 아니었다. 2016년 봄, 알리 클라우드에 3대의 리눅스 서버를 구매해서 1대에 대충 스테이징 환경과 각종 관리 툴을 세팅하고 2대 서버에 운영을 위한 최소한의 구성만 갖춘 채 첫 번째 기능을 출시했다. 매번 필요할 때마다 점진적으로 아키텍처를 개선해 나갔고, 4년이 지난 지금 꽤 그럴싸한(?) 모양을 갖추게 되었다. 지금 우리가 갖추고 있는 기술 셋을 소개해본다....
2018-06-20
Go에는 다른 대중적인 언어와 다른 개념들이 좀 있다. 클래스를 과감히 빼버렸고 (그래서 상속이 없다) Exception이란 것도 없다 (예외 상황 자체를 허용하지 않겠다는 의지인가? 멋있어 보일진 몰라도 솔직히 불편하다. ㅠㅠ 궁시렁 궁시렁…) 고루틴과 채널을 이용한 병행처리 모델도 친숙한 개념은 아니다 여기에 한 가지 더 보태자면, Context란 녀석이다. 처음 얘기한 세 가지는 Go 언어를 사용해서 뭔가를 만들려면 반드시 알아야 할 개념이기 때문에 Go 언어를 처음 접하는 대부분의 사람들은 시간을 할애해서 이 부분에 대해 공부를 한다. 하지만 컨텍스트는 사용하지 않아도 로직을 구현하는 데는 별문제가 없다는 생각에 개념을 충분히 익히지 않은 채 건너뛰는 경우도 있는 것 같다. 게다가 Go의 초기 버전에는...
2017-11-20
중국 이커머스 최대 행사인 쐉쓰이(双十一)때 11월11일 0시가 되자마자 매출이 급상승함과 동시에 이벤트가 미친듯이 순식간에 몰려드는 것을 보고, 일 년 전 밤을 지새우며 O2O 시스템을 Event driven 방식으로 바꾸느라 고생했던 순간이 떠올랐다. 쐉쓰이의 분위기는 동료가 쓴 글인 개발자가 바라본 중국 쇼핑 축제 쐉쓰이(광군제) 에 생생하게 나타나 있다. 실제 당일날 MongoDB 인덱스 문제, 디스크 부족으로 인한 kafka 서버 장애, 등 몇몇 문제가 발생하기도 했지만, 고객에게는 문제없이 서비스가 제공되었고...
더보기