일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 그리디알고리즘
- 알고리즘
- cleancode
- 클린코드
- Baekjoon
- spring boot
- 애자일
- 데이터베이스
- Elasticsearch
- 자바
- 개발
- 프레임워크
- 스프링
- 그리디
- 코딩
- 코딩테스트
- 애자일프로그래밍
- 읽기쉬운코드
- ES
- database
- framework
- Java
- API
- JPA
- Spring
- 개발자
- 코드
- 엘라스틱서치
- 애자일기법
- 백준
- Today
- Total
목록기타/DevOps (5)
튼튼발자 개발 성장기🏋️
로드 밸런서는 네트워크 트래픽을 여러 서버에 효율적으로 분산하여 시스템의 성능과 가용성을 향상시킬 수 있다. 구체적으로, 로드 밸런서는 다음과 같은 주요 기능을 수행한다.트래픽 분산: 클라이언트로부터 들어오는 요청을 여러 서버에 고르게 분배하여 각 서버에 과부하가 걸리지 않도록 한다. 이를 통해 시스템 전체의 처리 능력을 향상시키고, 트래픽이 급증해도 안정적인 서비스를 제공할 수 있다.장애 조치: 서버 중 하나가 장애를 일으키면, 로드 밸런서는 자동으로 해당 서버로의 트래픽을 차단하고 다른 정상적인 서버로 트래픽을 전환하여 서비스가 지속적으로 운영되도록 할 수 있다.세션 유지: 일부 로드 밸런서는 특정 클라이언트의 요청을 동일한 서버로 보내도록 세션을 유지하는 기능을 제공한다. 클라이언트로부터 들어오는 ..
커널은 OS의 핵심이라고 봐도 무방할 정도로 시스템의 모든 것을 완전하게 통제한다. 운영체제의 다른 부분 및 으용 프로그램 수행에 필요한 여러 서비스를 제공하게되는데 [그림 1]과 [그림 2]을 함께 살펴보면 이해하기 쉬울 것이다. APP은 라이브러리를 통해서 개발이 되는데 라이브러리는 System Call을 통해서 kernel space에 진입하게된다. 만약 하드웨어의 자원이 필요하다! 그런다고하면 Device Driver를 통해 하드웨어에 접근도 가능하다. 그래서 리눅스 커널의 주요 기능은 뭘까? 하드웨어 관리/추상화 디바이스 드라이버만이 하드웨어가 제공하는 기능이나 프로토콜에 관여한다. 사용자 프로그램은 하드웨어에 종속정인 작업이 필요하지 않다. 프로세스와 스레드 관리 cpu 타임 공유와 메모리 보..
Alpine linux에 대해 살짝 알아보고 가자. 알파인 리눅스는 보안/간편성/리소스 효율을 위해서 디자인된 리눅스 배포판이다. [그림 1]과 같이 알파인 리눅스는 glibc 대신에 musl libc를 사용하게 되었는데 라이브러리의 size 차이가 많이 차이나는 사실을 알 수 있다. docker images 상기 command로 OS 이미지의 크기를 [그림 2 ]와같이 알 수 있다. 타 OS 이미지와 비교해보았을 때 알파인이 훨신 더 경량화되어있다는 것을 알 수 있다. 이 처럼 size가 중요한 이유는 메모리/디스크 공간을 적게 잡아먹고, 로딩이 빠른만큼 앱이 올라가는 속도가 빨라진다. 하지만 많은 dependency 라이브러리가 빠져있기 때문에 멀티 스테이지 빌드 방식을 사용한다. # Alpine l..
이번 포스팅에서 하는 이야기는 Docker의 다중 운영체제이다. [그림 1]과 같이 Docker에서 다중 운영체제 사용이 가능할까? 백문이 불여일견이라고, 한 번 해보면 평생 기억할 것 같아 직접 해본다. Docker Hub에 접속하면 다양한 OS의 이미지를(배포판) 다운받을 수 있다! 혹은 아래와 같이 command로도 가능하다. cat /etc/os-release# Host OS 확인 docker pull fedora# fedora 이미지 다운 docker run --rm fedora cat /etc/os-release# 실행 실행을 해본다면 [그림 1]의 그림이 가능한 이야기인지 알 수 있을 것이다. (정답은 가능하다.) 그 이유는 무엇일까? docker는 OS레벨 가상화 기술이라고 한다. 그럼 O..
흔하게 볼 수 있는 docker짤이다. 대학생 때나 신입 때 누구나 이런 말을 해본적이 있을테지.. "내 컴터에선 왜 안돼?!?!" 코드가 똑같다면 대부분 환경이 달라서 다른 결과가 나오는 경우가 있을텐데, 이것을 해결해주는 것이 Docker라 볼 수 있다. 아래 [그림 2]를 보면 docker의 형태를 알 수 있다. 앱을 구동하기위한 코드와 종속성, runtime을 하나로 묶어서 local, dev환경을 비롯한 스테이징, 라이브환경 등 다양한 환경에 배포를 할 수 있다. "이 그림에서 docker를 왜 쓰는가?!"에 대한 답을 볼 수 있는데, 개발자가 만들었던 아티펙트가 컨테이너 런타임이 동작하는 어떤 환경에 구애받지 않고 동일한 아티펙트가 동작한다. 개발자가 앱을 빌드하고 배포하는 속도를 향상시킨다...