분류 전체보기
-
그림과실습으로배우는 도커쿠버네티스<2> - 도커의 동작원리도커&쿠버네티스 2023. 11. 1. 14:12
도커를 사용하면, 운영체제 위에 도커 엔진이 동작하고 그 위에 컨테이너가 동작한다. 컨테이너에는 리눅스 운영체제 비슷한 무언가가 기본적으로 들어가 있다. 운영체제는 '커널' 과 주변부분으로 구성되어 있다. 주변 부분이 프로그램으로부터 연락을 받고 커널이 하드웨어를 다룬다. 결국 주변부분은 프로그램과 커널과의 연락을 담당한다. 주변부분과 커널을 합쳐 만든 패키지가 배포판이다. 레드햇, centOS, 우분투 등이 대표적인 배포판. 도커에서는 컨테이너가 분리되어 있기 때문에 운영체제의 커널이 컨테이너 속 프로그램의 명령을 전달받을 수 없다. 따라서 컨테이너 안에 주변부분이 들어 있어 이를 운영체제의 커널로 전달하는 역할을 한다. 따라서 도커는 기본적으로 리눅스 운영체제에서만 동작한다. 컨테이너에 리눅스 운영체..
-
그림과실습으로배우는 도커쿠버네티스<1> - 도커란 무엇인가도커&쿠버네티스 2023. 11. 1. 13:42
도커란? 데이터 또는 프로그램을 격리시키는 기능을 제공하는 소프트웨어. 다양한 프로그램과 데이터를 독립된 환경에 격리하는 기능을 제공한다. (마치 운영체제도 격리하는 것처럼) 그 독립된 환경의 단위를 컨테이너라고 한다. 그리고 컨테이너를 다루는 기능을 제공하는 소프트웨어가 도커. 도커를 사용하기 위해선 도커엔진과 이미지가 필요하다. 도커는 리눅스 운영체제가 필요하다. 윈도우나 macOS 에서도 구동할 수 있지만 내부적으로 리눅스가 사용된다. (윈도우나 macOS 에서 구동한다면, 리눅스 가상머신에서 구동된다) 컨테이너에서 동작시킬 프로그램도 리눅스용 프로그램이다. 도커와 가상화는 비슷하지만 다르다. 가상화는 가상의 물리서버를 만든다는 개념이다. 메인보드와 CPU, 메모리 등의 물리적인 부품을 소프트웨어로..
-
Reactive Spring Boot: Part 1: Kotlin REST ServiceSpring 2021. 1. 17. 18:37
www.youtube.com/watch?v=coM6wWKau5E 위 영상을 토대로 만들었습니다. 코틀린으로 간단한 Spring Reactive REST Service 를 만드는 과정입니다. 영상을 보면서 따라는 과정을 그대로 썼습니다. 물론 하나씩 캡쳐하는 게 정확한 가이드를 줄 수 있으나 영상을 참고할 수 있기에 내용을 놓치지 않게 설명을 하는 방식으로 제작하였습니다. 추천하는 방법은, 영상을 재생하고 이 글을 읽으면서 따라하는 것입니다. 영상은 intelliJ 의 제작사인 JetBrain 에서 만들었습니다. 당연히 IntelliJ 를 기본으로 설명합니다. 이클립스, 스프링 STS 를 사용하는 사람도 세부적으로 같진 않지만, 동일한 코드로 작업할 수 있습니다. 하지만 개인적인 입장으로는 인텔리제이를 사..
-
12 days of Apache Kafka - 10. Schema RegistryKafka 2021. 1. 17. 10:16
www.youtube.com/watch?v=_x9RacHDQY0 카프카를 많이 이용하다보면 2가지 상황이 생긴다. 새로운 컨슈머가 존재하는 토픽을 쓰고 싶은 경우 (토픽의 메세지 form 에 대해 알고 있어야 한다. ) 토픽 스키마를 변경하고 싶은 경우 → 스키마 레지스트리가 위의 문제를 해결해준다. Schema Registry stand-alone, 스키마들을 저장하고 있다. 저장하고 캐쉬도 하고 있다. 클러스터로 관리할 수 있다. API 로 되어 있고 , consumer/ producer 시 이전 버전과의 비교를 한다. produce 타이밍에 스키마를 받아서 맞는 스키마에 맞게 데이터를 만든다.룰을 정하고 그 룰에 맞게 변화하면 성공하고, 룰에 맞지 않으면 실패하게 한다. consume 시엔 스키마에..
-
12 days of Apache Kafka - 9. Kafka connectKafka 2021. 1. 17. 10:15
www.youtube.com/watch?v=J6adhl3wEj4 Kafka connect 다른 어떤 데이터를 다루는 시스템과 데이터를 주고 받을 때 이용함. 마치 컨슈머나 프로듀서 같이 보인다. 또는 둘다. (하지만 브로커는 아니다) 클러스터 바깥에서 동작한다. 스케일이 가능하고(커넥트 클러스터), 장애 시 회복에 좋다 (fault tolerance ..) 간단한 json config 만으로 커넥터를 쓸 수 있다. 커넥터는 간단한 인터페이스를 가지고 있다. 어떤 곳에서 데이터를 가져오든 다같은 인터페이스다. confluent hub 에 가면 다양한 connector 를 쓸 수 있다. (무료, 유료) 커넥터 허브는 검색이 가능하다...(계속 광고를 하는군... ) 그 뒤로는...계속 직접 만들 생각 하지말..