Sharded MySQL Cluster 도입 배경과 개발기 (부제: 우당탕탕 좌충우돌 개발기)
Sharded MySQL Cluster 도입 배경과 개발기 (부제: 우당탕탕 좌충우돌 개발기)안녕하세요, 지마켓 Item Engineering 팀입니다. 저희는 지마켓 & 옥션의 상품 등록/관리와 관련된 플랫폼을 담당하고 있습니다!저희 팀은 대량의 상품 데이터와 대규모 트래픽을 처리해야 하며 로직이 (꽤) 복잡한 부분이 있는 상품 데이터들을 운영하고 있습니다. MSSQL을 주로 사용하지만 이번에 샤딩 기법을 사용한 MySQL 클러스터를 도입하게 되었습니다!이름하야 '루미큐브' 프로젝트!하지만 해당 프로젝트를 진행하며 많은 시행착오가 있었는데요..왜 MySQL을 도입하게 되었는지, 샤딩 기법을 사용하고 있는데 샤딩이란 무엇인지, 샤딩을 쉽게 처리하기 위해 사용한 '샤딩스피어'란 무엇인지,그리고 저희의 시행..
AI/MLBackendDatabaseInfra
전체 읽기 →컬리, IEEM 2022에서 물류센터 생산 계획 최적화 논문을 발표하다
A Fast Metaheuristic Optimizer for Large-scale Batch Fulfillment Planning
AI/MLBackendInfra
전체 읽기 →Gmarket Hadoop Platform Baikal 소개
안녕하세요 Data Platform Engineer 조광진입니다.저희 Platform Technology 팀은 지난 수년간 On-premise Hadoop 기반의 빅데이터 플랫폼인 'Baikal' 이란 서비스를 사내에 제공하여 전사에서 활용되는 데이터의 수집, 적재, 분석에 대해 편의성을 제공하고 있습니다.빅데이터 플랫폼 Baikal은 On-premise 에서 Cloud Lakehouse Platform으로 전환을 앞두고 있습니다.Cloud Lakehouse Platform으로 전환하기 앞서 On-premise Hadoop 기반인 Baikal에 대해 소개하고자 합니다.Gmarket BaikalBaikal 이란 이름은 잘 아시다시피 러시아 시베리아 남쪽의 있는 세계에서 가장 오래되고 깊은 담수호 이름입니다..
AI/MLBackendDatabaseInfra
전체 읽기 →데브시스터즈
2022-12-22 · 3년 이상 전
쿠키런: 킹덤 데이터베이스 스토리지 레이어 복원기
쿠키런: 킹덤 런칭 후 4일 만에 기술적인 문제로 인해 발생했던 약 36시간의 장애에 대해 전해드리고자 합니다.
BackendDatabaseInfra
전체 읽기 →성능 테스트를 위한 격리 - 시뮬레이션
시뮬레이션이전 글을 통해 테스트에 사용할 기록들을 캡처하여 확보했습니다. 이렇게 캡처한 내용을 바탕으로 mock service 를 띄워 이제는 시뮬레이션할 수 있습니다. 이제 테스트를 수행해 봅시다. hoverfly dashboard 에서 simulate 모드로 변경하거나 기록한 파일을 import 하여 hoverfly 를 재기동하면 테스트 환경으로 활용할 수 있습니다. 하지만 몇 가지 좀 더 수월한 테스트 조력을 원하였습니다. hoverfly 는 매우 디테일하게 기록하지만 실제 테스트에 적합한 동작은 덜 디테일하거나 추가적인 디테일이 필요할 수 있다.mocking 하는 서비스의 특징을 흉내 낼 때, 각 config 가 서비스 단위로 관리할 수 있는 게 편했다.hoverfly 는 가볍고 빠르다고 하지만 ..
InfraTestingTools
전체 읽기 →올리브영 전시영역 MongoDB 도입하기
2017년에 시작된 올리브영 온라인몰 서비스는 매년 급격한 성장세를 보이며 국내 H&B…
BackendDatabaseInfra
전체 읽기 →Datadog Dash 2022 컨퍼런스 방문기
우리회사 미국도 보내줍니다
CultureDevOpsInfra
전체 읽기 →데브시스터즈
2022-12-13 · 3년 이상 전
CockroachDB in Production
CockroachDB의 여러 가지 고유한 특성을 알아보고, 왜 CockroachDB를 메인 데이베이스로 선택했는지, Production 서비스에서 CockroachDB를 운용하기 위해 어떤 점들을 주의하고 신경써야 하는지에 대해 다룹니다.
BackendDatabaseInfra
전체 읽기 →컬리는 물류 최적화 문제를 어떻게 풀고 있을까? - 2부
Digital Twin을 구축해 최적화 알고리즘을 검증하기
AI/MLArchitectureInfra
전체 읽기 →Kurly만의 MLOps 구축하기 - 초석 다지기
GPU사용환경 만들기
AI/MLInfraTools
전체 읽기 →로그인 비밀번호를 지켜라
안녕하세요. SmilePay Engineering 팀 문한국입니다. 이번 글에서는 스마일페이의 보안성 강화를 위하여 로그인 비밀번호 암호화를 도입한 사례를 공유하려고 합니다. 선정 배경스마일페이는 고객의 결제와 관련된 업무를 하다보니 보안을 상당히 중요시 합니다. 그래서 로그인 비밀번호의 경우도 HTTPS 통신을 통한 SSL 보안과 더불어 RSA 암호화를 통해 로그인 비밀번호를 암호화 후 통신하고 있습니다.HTTPS 의 경우 네트워크 구간에서는 비밀번호의 암호화가 이루어지나, 네트워크 전송 전 구간에서의 보안은 취약하였습니다. 아래 그림은 로그인 비밀번호 암호화를 도입하기 전 브라우저 개발자 도구 네트워크 탭을 캡쳐한 것입니다. 로그인 버튼을 눌렀을 때 개발자 도구 네트워크 탭에 찍힌 것과 같이 비밀..
BackendInfraSecurity
전체 읽기 →지마켓 대기열 시스템 파헤치기
안녕하세요 VIP & Vertical 팀 김윤제입니다.VIP 파트에서 상품 상세 페이지 및 리뷰 업무를 맡고 있습니다.이번 블로깅에서는 Auction, Gmarket에서 사용하고 있는 대기열 시스템인 Redcarpet에 대해 소개하려 합니다. RedcarpetRedcarpet은 Auction, Gmarket의 대기열 시스템으로 일시적으로 많은 트래픽이 발생하는 서비스에과도한 트래픽의 유입을 방지해 주고 시스템을 보호합니다. 대기열 시스템 Redcarpet의 이름은 대형 홀 등의 줄을 서서 기다리는 곳에 깔린 레드카펫에서 유래되었습니다.Redcarpet의 도입이유 Big Smile Day, Big Sale 등의 이벤트 또는 인기 있는 상품에 대해 트래픽이 몰리는 순간이 있습니다. 이렇게 순간적으로 높은 트..
BackendInfraTools
전체 읽기 →Netflix Hystrix를 이용한 MSA 회복성 패턴 톺아보기
MSA 환경에서의 장애 양상 우리는 장애를 피할 수 없습니다. 아무리 실력이 좋은 소프트웨어 개발자라 할지라도 완전무결한 시스템을 만들 수 없습니다. 물론 우리도 여러 방법으로 장애에 대응하고 있었습니다. 서버를 클러스터링하여 일부 서버에 문제가 발생하더라도 클라이언트는 정상 동작중인 다른 서버를 이용할 수 있습니다. 인프라를 분산 구축하는 것도 이러한 전통적인 장애 대응방식 중 하나입니다. 우리는 서버 클러스터링, 인프라 분산 구축과 같은 기존의 장애 대응 방식은 시스템의 완전한 실패를 대비하여 설계되었다는 것에 주목해야 합니다. 하드웨어 장비에 문제가 생겨 서버에 전원 공급이 안되거나 자연재해로 인해 데이터 센터의 데이터가 유실된 경우라면 이런 기존의 장애 대응 방식으로 우리는 큰 도움을 받을 수 있..
BackendDevOpsInfra
전체 읽기 →올리브영 데이터 엔지니어링
…
BackendDatabaseInfra
전체 읽기 →컬리 검색이 카프카를 들여다본 이야기 1
카프카 설정 튜닝만으로 색인 속도를 개선하다
BackendInfraTools
전체 읽기 →44BITS
2022-08-01 · 거의 4년 전
도커 컨테이너 5분 만에 무료로 배포하기(feat. fly.io)
fly.io가 제공하는 환경에 도커 컨테이너를 배포해봅니다. 첫 배포까지 5분 정도면 충분하고, 이후 업데이트에는 10초가 채 걸리지 않을 거예요. 게다가 무료 티어 성능도 꽤 좋아요!
DevOpsInfraTools
전체 읽기 →44BITS
2022-07-31 · 거의 4년 전
도커 컨테이너 5분 만에 무료로 배포하기(feat. fly.io)
fly.io가 제공하는 환경에 도커 컨테이너를 배포해봅니다. 첫 배포까지 5분 정도면 충분하고, 이후 업데이트에는 10초가 채 걸리지 않을 거예요. 게다가 무료 티어 성능도 꽤 좋아요!
DevOpsInfraTools
전체 읽기 →확장성 높은 카프카 구성을 위한 서비스 설계
카프카와 확장성 카프카를 사용하여 환경을 구성하는 과정에서 확장성이 필요한 서비스를 운영하기 위한 고민이 있었습니다. 일면의 가용성이나 확장성에 대해서는 카프카는 아주 훌륭한 도구였으나 또 다른 측면에서 딱딱하게 구는 부분도 있었습니다. 리파티셔닝과 리밸런싱 카프카가 제공하는 기능의 몇 가지는 파티션이라는 구조를 기반하고 있습니다. 일단 카프카는 기본적으로는 메시지의 순서를 보장하지 않지만 메시지의 순서를 일부 보장하며 해당 순서를 기반으로 commit과 offset을 제공하는 기반은 파티션입니다. 따라서, 파티션에 의해 좌우되는 요소들이 많습니다. 예를 들면 파티션은 메시지의 동시처리의 상한을 만듭니다. 파티션 수 보다 많은 컨슈머의 수는 메시지 처리 속도 측면에서 의미가 없습니다. 더 많은 컨슈머를 ..
BackendInfraTools
전체 읽기 →뱅크샐러드
2022-02-22 · 4년 이상 전
주니어 엔지니어의 눈으로 본 AWS re:Invent
안녕하세요, Data Platform팀 Data Engineer 이은지입니다. 코로나로 인해 2020년에 온라인으로 진행된 AWS re:Invent가, 2021년에는 오프라인 행사로 열렸습니다! 2021년 11월 29일부터 12월 0…
CareerCultureInfra
전체 읽기 →10분 만에 훑어보는 TCP와 UDP
OSI 4계층에서 동작하는 TCP와 UDP의 특징과 차이점에 대해 간략히 정리해봅니다.
ArchitectureBackendInfra
전체 읽기 →