서비스에 k8s 적용 간, 배포 방식에 관하여 관련 레퍼런스를 읽어볼 기회가 생겼습니다.현대 어플리케이션은 높은 가용성과, 빠른 피드백 루프를 요구하기에,이를 위하여 단일 서비스에 대한 전면적 배포방식보다는, 점진적이고 제어 가능한 배포 전략을 채택하는 것이 일반적이게 되었습니다.이번 글에서는 이러한 배포의 대표적인 전략인 Canary, Rolling, Blue-Green을 살펴보도록 하겠습니다. 1. Canary - Canary 배포는 전체 신규 버전을 소수의 인스턴스 혹은 소수의 사용자 그룹에게 먼저 릴리즈하여, 정상 동작 여부와 안정성을 검증한 후 점차 배포 범위를 확대하는 전략입니다.- 이름과 비슷하게 과거, 카나리아 새를 광산에 데리고 갔던 것에서 유래하여 장애 가능성을 사전에 탐지하기 위한 접..
전체 글
Junior Engineer자바 1.8(Java 8)은 자바 언어 역사에서 가장 중요한 업데이트 중 하나로 평가받으며, 특히 람다(Lambda)와 스트림(Stream) API가 도입되면서 자바 언어의 사용성과 생산성이 대폭 향상되었습니다. 특히나, 스트림 API같은 경우에 효율적으로 병렬프로그래밍을 구사할 수 있게됨으로써 자바1.8버전 이상을 사용하시는분들이 더욱 효율적인 코드를 구사할 수 있게되었는데요, 이 글에서는 자바 1.8에서 추가된 람다와 스트림에 대해 알아보고, 각각의 장단점과 성능적인 측면에서의 고려 사항을 설명하는 시간을 가져보도록 하겠습니다. 람다 표현식(Lambda Expression)이란? 람다 표현식은 자바에서 간결하게 함수를 정의하는 방식입니다. 간단히 말해, 람다는 익명 함수(Anonymous Fun..
이제야 Generic을 포스팅 할 시간이 왔습니다.개인적으로 자바에서 가장 좋아하는 기능인데요, 객체지향원칙 중 다형성을 극한으로 치중한듯 한 제네릭은 여러 타입을 같은 클래스 하나로 공유할 수 있다는점이 아주 매력적인 기능인 것 같습니다.이러한 제네릭(Generic)은 같은 동작을 하는 코드이지만, 데이터 타입이 달라 각자의 타입에 맞는 여러 클래스들을 중복 구현하여야 하는 단점을 보완해줄 수 있는 해결사의 역할을 합니다. 제네릭은 Java에서 코드의 중복을 줄이고, 다양한 타입의 데이터에 유연하게 대처할 수 있는 강력한 기능을 제공하는데, 이번 글에서는 제네릭의 개념과 활용법에 대해 깊이 있게 알아보도록 하겠습니다. 제네릭(Generic) 개념 제네릭(Generic)은 Java에서 클래스나 메소드..