-
Java로 만들어진 Kubernetes Operator - 어떻게 테스트할까?
안녕하세요. 11번가 Core Platform 개발팀의 김보배입니다. 앞선 블로그 글(Service Discovery 통합을 위한 Kubernetes Operator 구현 - Eurekube Operator)에서 Eurekube Operator의 아이디어, 설계에 대해 이야기해보았습니다. 이번 글에서는 Eurekube Operator의 개발을 마치고 제대로 동작하는지 확인하기 위해 어떻게 테스트했는지에 대해 이야기해보고자 합니다. 이전 블로그 글을 읽었다는 전제하에 작성한 글로, 만약 아직 읽지 않으셨다면 읽고 오시길 추천드립니다. Integration test with Testcontainers 11번가에서는 안정적인 애플리케이션을 개발하기 위해 테스트 코드를 최대한 작성하고 있습니다. 테스트는 유닛 테스트와 통합 테스트로 나누어 구성하고 있으며,...
-
Service Discovery 통합을 위한 Kubernetes Operator 구현 - Eurekube Operator
안녕하세요. 저는 11번가 Core Platform 개발팀에서 MSA 플랫폼 - Vine 을 개발하고 있는 안희석입니다. 이번 글에서는 11번가에서 쿠버네티스 플랫폼을 도입하면서 기존에 Spring Cloud 로 이루어진 Vine Platform 과 서비스 디스커버리를 통합하기 위해 Kubernetes Operator 패턴을 이용해 Eurekube Operator 를 개발 한 것을 공유드리고자 합니다. 1. Context & Mission Eureka 와 Kubernetes 서비스 디스커버리를 통합하기 위해서 11번가에서는 Kubernetes Operator 패턴으로 Eurekube Operator 를 개발하였습니다. Eurekube Operator 에 대해서 설명하기 전에 먼저 개발하게된 배경들에 대해서 설명드리겠습니다. AS-IS....
-
Live11 과 Schema Registry
안녕하세요. 11번가 Tech 플랫폼 개발팀에서 Live11 서비스를 개발하고 있는 유예본입니다. 11번가의 라이브방송 서비스인 Live11 에서는 Kafka 와 함께 Schema Registry 를 어떻게 사용하고 있는지 Compatibility (호환성) 를 중심으로 이야기 해보려고 합니다. Schema Registry 나 Schema 는 특정 언어에 종속적이지 않지만 본 글에서는 자바 애플리케이션에서 사용하는 경우로 제한하여 적어 보았습니다. 목차 Live11 Architecture Schema Registry 도입 Schema Registry 는 어떻게 동작? Serializer 코드 까보기 Deserializer 코드 까보기 Schema 정의는 어떻게? Java Class 자동 생성 Schema Evolution...
-
11번가 주니어 개발자의 첫 MSA 설계 및 개발기
안녕하세요. 11번가 주문개발팀 개발자 고다경입니다. 입사 후 파일럿 프로젝트를 진행한 것을 Product로 전환하는 과정을 담았습니다. 많이 부족한 글이지만 신입~주니어의 글이라 생각해주시고 읽어주시기 바랍니다 🙏 목차 그래서 무엇을 했나요 ? What is Change Data Capture ? Q. 데이터 전송,, 혹시,, 너,, 뭐,, 돼,,? 뭐부터 해야할지.. 설계 과정 Why Kafka ?! Flow 설계 기술 스택 Sync ? Blocking ? Async ? Non-Blocking? First Flow ) Vine → Producer 호출 Second Flow ) Consumer → Another Vine Producer와...
-
11번가의 오픈소스 활동 (1)
안녕하세요. 11번가 Core Platform 개발팀 최유진이라고 합니다. 개발자라면 누구나 오픈소스 활동을 꿈꾸는데요. 11번가에서는 이 오픈소스 활동을 적극적으로 장려하고 있습니다. 이 포스트에서는 11번가의 오픈 소스 활동을 소개해드리겠습니다. 목차 트러블 슈팅을 위한 컨트리뷰션 MSA 전환 과정에서 발견한 이슈에 대한 컨트리뷰션 Spring Boot 업그레이드 중 발견한 이슈에 대한 컨트리뷰션 Model Mapper QueryDSL Spring Cloud Openfeign Resilience4J 트러블 슈팅을 위한 컨트리뷰션 업무 진행 중 발견한 문제를 해결하기 위해 오픈소스에 직접 컨트리뷰션 한 경우입니다. 오픈 소스를 사용하다보면 버그를 발견하여 수정해야...