전체보기(194)
-
Java 11
추가된 기능 새로운 HTTP Client 추가 새로운 HTTP Client가 추가되었습니다. 새로운 HTTP Client는 성능적으로 개선되었고, HTTP/1.1과 HTTP/2 프로토콜을 모두 지원하고 있습니다. HttpClient httpClient = HttpClient.newBuilder() .version(HttpClient.Version.HTTP_2) .connectTimeout(Duration.ofSeconds(20)) .build(); HttpRequest httpRequest = HttpRequest.newBuilder() .GET() .uri(URI.create("http://localhost:" + port)) .build(); HttpResponse httpResponse = http..
2022.01.06 -
Apache MPM
Apache MPM의 개념 Apache MPM은 Multi Processing Module의 약자로 Apache가 받아들인 요청을 처리하기 위해 자식 process에게 분배하는 방식을 의미합니다. Apache MPM의 종류 Prefork Prefork 방식은 하나의 요청에 하나의 웹서버 프로세스를 할당하여 처리하도록 하는 방식입니다. 실행중인 프로세스를 fork를 이용해 복제하여 실행하고 다른 여러 모듈들을 사용하는데 호환성이 좋은 편입니다. 다만 프로세스는 소비하는 메모리가 많아서 요청이 급증하면 메모리가 부족할 수도 있습니다. Worker Worker 방식은 요청을 스레드 단위로 처리합니다. 기본 사용 메모리는 Prefork 방식보다 낮으며 스레드 간에 메모리를 서로 공유합니다. Event Event..
2022.01.06 -
Ansible
Ansible이란 Ansible이란 python으로 오픈소스로 서버의 프로비저닝, SW 배포 등의 자동화를 관리해주는 도구입니다. Ansible의 특징 Agentless 타 자동화 도구들은 타겟 대상들에 Agent 설치 기반 PULL 방식으로 동작하는 것에 비해 Ansible은 타겟 대상들에 Agentless 기반의 PUSH 방식으로 동작하기 때문에 기술적, 지리적 제한이 보다 넓습니다. 멱등성 어떤 연산이 여러분 수행되더라도 결과가 달라지지 않는 성질을 의미합니다. Ansible 또한 동일한 모듈을 반복 실행해도 결과가 동일하도록 구성되어 멱등성을 일관되게 수행할 수 있습니다. Ansible의 구성 요소 Module Ansible에서 실행되는 개별 작업의 정의입니다. 대상 호스트에서 실행하는 라이브러리..
2021.12.27 -
서버 기반 인증 vs 토큰 기반 인증
서버 기반 인증 시스템 서버 기반 인증 시스템이란 서버 측에서 사용자들의 정보를 기억하고 있는 시스템을 말합니다. 사용자들의 정보를 기억하기 위해서는 세션을 유지해야 하는데, 메모리나 디스크 또는 데이터베이스 등을 통해 관리합니다. 서버 기반의 인증 시스템은 클라이언트로 요청을 받으면 클라이언트의 상태를 계속 유지하고 이 정보를 서비스에 이용합니다. 서버 기반 인증 시스템의 문제점 세션 사용자가 인증을 할 때, 서버는 이러한 정보를 저장하고 이를 세션이라고 부릅니다. 대부분의 경우에는 메모리에 저장하는데 로그인 중인 사용자가 많으면 서버의 RAM에 부하가 걸리게 됩니다. 이를 피하기 위해 데이터베이스에 저장하기도 하는데 이러한 방식 역시 데이터베이스에 무리를 줄 수 있습니다. 확장성 사용자가 늘어나게 되..
2021.12.08 -
L4 스위치 vs L7 스위치
스위치란 스위치란 네트워크를 연결하는 일을 하는 목적을 가진 기기입니다. 스위치는 자신에게 연결된 모든 기기들로부터 들어오는 패킷을 수신하고 이 패킷을 적당한 기기로 보내는 일을 합니다. 스위치는 OSI 7계층에서 어느 계층까지를 다루는지 기준으로 스위치의 카테고리를 나눕니다. L4 스위치 OSI 3 - 4계층에 속하는 IP, TCP/UDP 포트 정보를 참조하여 패킷을 확인하고 세션을 관리하며 로드밸런싱을 제공하는 스위치 장비입니다. L4는 TCP/UDP 패킷 정보를 분석해서 해당 패킷이 사용하는 서비스 종류별로 처리합니다. L4 스위치는 서버 IP를 VIP와 매핑한 테이블을 가지고 있습니다. 따라서 L4 스위치 장비는 VIP로 들어오는 트래픽을 여러 서버에 분산시킬 수 있는 로드밸런싱 기능이 있습니다...
2021.12.06 -
Apache 서버 업데이트 이슈
최근 Apache 보안 이슈로 인해 서버를 업데이트를 하며 여러 문제가 발생해 해당 이슈와 해결 방안에 대해 정리를 해봅니다. 참고로 서버는 Centos 6과 7버전입니다. libpcre.so.0 cannot open shared object file no such file or directory 여기서 libpcre는 정규 표현식을 지원하는 라이브러리입니다. .so가 붙는 파일들은 리눅스의 동적 라이브러리 파일로 프로그램 실행 후 필요할 때 호출됩니다. 에러 내용을 보면 libpcre의 동적 라이브러리를 찾을 수 없다는 내용입니다. 이러한 문제를 해결하는 방법은 아래와 같습니다. 링크 재생성 일반적으로 libpcre.so.0나 libpcre.so.1은 /lib나 /lib64 디렉토리 내부에 libpcr..
2021.12.01