Kubernetes 기반 NGINX 리버스 프록시와 HPA를 이용한 API 서버 자동 확장 (+부하테스트)
·
DevOps
테스트용 api 서버와 nginx는 이전 포스팅의 설정을 바탕으로 실습을 진행했습니다. Docker를 이용한 간단한 리버스 프록시 Path-based Routing 실습 (+ nginx, docker-compose)리버스 프록시란?클라이언트 대신 백엔드 서버로 요청을 전달하고, 그 응답을 다시 클라이언트에게 반환해주는 서버보안성 및 분산 처리에 유리함 !!실습 구조[ Client ] ──▶ [ NGINX (리버스 프dstrace.tistory.com Kubernetes HPAHPA(Horizontal Pod Autoscaler)는 쿠버네티스에서 애플리케이션의 부하에 따라 파드 수를 자동으로 늘리고 줄이는 기능. 시스템의 부하를 모니터링하여 CPU 사용률, 메모리 사용률 등의 메트릭을 수집하고, 설정된 ..
Docker를 이용한 간단한 리버스 프록시 Path-based Routing 실습 (+ nginx, docker-compose)
·
DevOps
리버스 프록시란?클라이언트 대신 백엔드 서버로 요청을 전달하고, 그 응답을 다시 클라이언트에게 반환해주는 서버보안성 및 분산 처리에 유리함 !!실습 구조[ Client ] ──▶ [ NGINX (리버스 프록시) ] ──▶ [ API Server (Node.js) ] └─▶ [ Web Server (HTML) ]nginx 서버 및 api, web 서버는 실습상 편의를 위해 모두 docker 컨테이너를 이용특징nginx가 클라이언트를 대신해 요청클라이언트는 백엔드 서버를 몰라도 됨nginx가 요청 흐름을 제어 (다양한 경로, 다양한 서버로 요청을 나누어 전송 가능)응답도 nginx가 전달 (클라이언트는 응답이 어디서 왔는지 알 수 없음.)실..
DDD(Dynamic Developer Designer) 12기 합격 후기 - 서버 파트
·
DDD 12기 (Server)
DDD 지원 이번에 DDD 12기 서버파트로 지원을 했습니다. 여러 IT 연합동아리들 중에 많이 고민했지만, 아무래도 실무에서 뛰고 계신 개발자 분들의 비율이 많다는 것이 큰 경험이 될것이라고 생각해서 DDD를 선택하게 되었습니다.1차 서류접수 1차 서류접수는 대부분의 대외활동에서의 질문과 비슷했습니다. (ex 지원 동기, 열정, 프로젝트 경험 등)경쟁률이 10:1에 육박한다는 얘기를 들었기도 하고 사실 제가 글솜씨가 워낙 떨어지는편이라... 결과가 나오기까지 '최대한 기대를 하지말고 기다려야지'라는 생각으로 기다렸었어요.운영진분들께서 제 지원서를 좋게 봐주셨는지 다행히 합격안내 문자를 받을 수 있었습니다. 합격 문자를 받고도 제가 잘못읽었는지 몇번이나 다시 확인했네요.. 다행 :)2차 면접 면접 일정은..
Spring에서 로깅이 필요한 이유 (SLF4J, Logback, Lombok)
·
BackEnd
Spring에서 로깅이 필요한 이유와 SLF4J, Logback, Lombok 정리Spring 기반 애플리케이션을 개발할 때는 System.out.println() 대신 로깅 프레임워크를 사용하는 것이 일반적입니다. 로깅이 필요한 이유1. 운영 환경에서 디버깅'System.out.println()'은 개발 중에는 간편하지만, 운영 서버에서는 로그 수준 조절, 저장, 관리가 어렵습니다. print와 log의 성능 수준도 매우 크게 차이가 나기 때문에 성능에도 큰 영향을 미칩니다.로깅 프레임워크는 애플리케이션의 동작 흐름을 파악하고 문제를 분석하는 데 필수적입니다. 2. 로그 레벨 제어TRACE, DEBUG, INFO, WARN, ERROR 등 다양한 로그 레벨을 제공환경에 따라 로그 수준을 조절할 수 있..
데이터베이스와 CRUD (JPA 개념)
·
BackEnd
데이터베이스와 CRUD데이터베이스와 CRUD가 필요한 이유는?대량의 데이터를 체계적으로 저장, 관리, 조작하여 정보의 무결성과 일관성을 유지하면서 실제 애플리케이션 개발에서 사용자의 다양한 데이터를 안정적으로 처리하기 위한 기본 기술이기 때문관계형 데이터베이스(RDS)관계형 데이터베이스(RDS)란?행(Row)과 열(Column)으로 구성된 표형태로 저장하고 관리하는 데이터베이스. 다른 테이블과 '관계'라는 개념으로 연결되어 구조적으로 데이터를 관리할 수 있음.스키마(schema)스키마는 데이터베이스의 전체 설계도와 같음. 테이블 사이의 관계나 규칙이 무엇인지를 정의하고 데이터베이스에 대한 전반적인 정의가 포함됨컬럼(column)테이블 안에서 데이터를 저장하는 세로 방향의 필드. 각 컬럼은 특정한 데이터 ..
(C++) BOJ 백준 1525 퍼즐 / BFS, unordered_map
·
Algorithm
문제 설명 입력에서 무작위로 섞어져있는 3x3 퍼즐을 입력으로 준다. 이 퍼즐을 문제 맨 위에 있는 그림과 같이 초기 상태로 만드는데에 걸리는 최소 횟수를 구하는 문제다.문제 풀이 기본적인 BFS 문제와 같이 visit 처리를 해주면서 초기상태와 같아졌을때에 depth 혹은 count를 출력하면 된다.하지만 보드가 2차원 배열에 해당하기 때문에 이를 unordered_map의 키값으로 visit 처리를 해주기 위해서 2차원 배열의 숫자를 문자열로 바꿔주는 함수를 추가해서 visit 처리와 bfs의 값으로 이용하는 과정에서 사용했다.코드#include #include #include using namespace std;#define FOR(i,N) for(int i=1; i board_map;void pr..