전체 글 316

JavaScript 논리 연산자 &&, ||, 화살표 함수, setInterval

1. && (A && B) A가 Truthy한 값이면 B가 결과값이 된다. example1 && example2 = example1이 true인 경우 example2을 반환하고 그렇지 않은 경우 example1을 반환 console.log(true && 'hello'); // hello console.log(false && 'hello'); // false console.log('hello' && 'bye'); // bye console.log(null && 'hello'); // null console.log(undefined && 'hello'); // undefined console.log('' && 'hello'); // '' console.log(0 && 'hello'); // 0 console..

Kafka 설치 및 Springboot 연동

1. 설치 https://www.popit.kr/%ec%b9%b4%ed%94%84%ec%b9%b4-%ec%84%a4%ec%b9%98-%ec%8b%9c-%ea%b0%80%ec%9e%a5-%ec%a4%91%ec%9a%94%ed%95%9c-%ec%84%a4%ec%a0%95-4%ea%b0%80%ec%a7%80/ 카프카 설치 시 가장 중요한 설정 4가지 | Popit 카프카 보안과 커버로스(Kerberos)를 이용해 구성하는 방법에 대해 다루는 글을 쓰려다가, 현재 제가 구성한 보안 클러스터 구성환경에 접속할 수도 없고 새로 구성하기도 어려운 상황이라, 평소 www.popit.kr

Kafka 용어

1.카프카 브로커 https://devbksheen.tistory.com/entry/Kafka-Broker-Zookeeper Kafka Broker & Zookeeper란? Kafka Broker & Zookeeper란? 브로커(broker)는 실행된 Kafka application 서버를 뜻한다. 주키퍼(zookeeper)는 이러한 분산 메세지 큐의 정보를 관리해 주는 역할을 한다. kafka를 띄우기 위해서는 주키퍼가 반드시 devbksheen.tistory.com 2. 프로듀서 컨슈머 https://devbksheen.tistory.com/entry/Kafka-Producer-Consumer Kafka Producer & Consumer란? Producer & Consumer란? 프로듀서(produ..

SpringSecurity를 사용할 때 일관적인 Exception 처리를 위해

1. Spring Security Filter chain의 구조 따라서 @Controller나 @Service에서 GlobalCustomException처리하면 (@ControllerAdvice, @ExceptionHandler) 해당 메소드로 넘어가지만, Filter에서 똑같이 Exception 터트려도 GlobalCustomException로 넘어가지 않는다. 해결방법은 Filter영역에서 Exception 처리는 아래와 같이. @Component // 유효한 자격증명을 제공하지 않고 접근하려 할 때 401Unauthorized 에러를 리턴 public class JwtAuthenticationEntryPoint implements AuthenticationEntryPoint { @Override p..

Nginx와 nginx.conf 파일 설정

1. Nginx란? 용도 클라이언트로부터 요청 받을 때 요청에 맞는 정적 파일 응답(Http Web Server) Reverse Proxy Server로 WAS 서버 부하를 줄일 수 있는 로드밸런서로 활용 특징 Nginx는 Event-Driven 구조로 동작(동접자수 1만명 넘어갈 때 효율적인 방안을 위해), 한 개 또는 고정된 프로세스만 생성 (새로운 프로세스와 쓰레드 생성하지 않음 ) Nginx는 하나의 Master Process와 다수의 Worker Process로 구성, Master Process는 설정파일을 읽고, 유효성 검사 및 Worker Process관리 0. nginx의 /etc/nginx 디렉터리 내부, 정적 콘텐츠 가저오기 위한 설정 1) sites-available : sites-a..

DevOps 2023.06.18

PM2, Nginx //front app 배포

Node.js의 프로세스 매니저 PM2Node.js는 싱글스레드로 Node.js 애플리캐이션은 단일 CPU 코어에서 실행된다. 따라서 CPU의 멀티코어시스템을 사용할 수 없다. 이 문제를 해결하기 위해 클러스터(Cluster) 모듈을 통해 단일 프로세스를 멀티 프로세스(Worker)로 늘릴 수 있는 방법을 제공한다. 즉, 클러스터 모듈을 사용해서 마스터 프로세스에서 CPU 코어 수 만큼 워커 프로세스를 생성해 모든 코어를 사용하게 개발하면된다. PM2의 등장 배경애플리케이션을 실행하면 처음에는 마스터 프로세스만 생성된다. 이때 CPU 개수만큼 워커 프로세스를 생성하고 마스터 프로세스와 워커 프로세스가 각각 수행해야 할 일들을 정리해서 구현하면 된다. 예를 들어 워커 프로세스가 생성됐을 때 온라인 이벤트가..

DevOps 2023.06.13

모놀로리식, 마이크로서비스 아키텍쳐

잘못 알고있던 내용 : 1. 모놀로리식도 확장이 쉽다. 부하분산기 뒤에 애플리케이션 인스턴스를 여러 개 실행하면 되는 것. 2. 서비스마다 자체 DB를 둔다는 것이 자체 DB를 설치해야 한다는 의미가 아니다. 3. 서비스마다 자체 소스코드 저장소가 있고, 서비스마다 자체 자동화 개발 파이프라인(젠킨스 CI)이있다. 마이크로 서비스 아키텍쳐 근본 : - 3계층 아키텍쳐 - 웹 애플리케이션 설계 - 객체 지향 설계를 응용한 비즈니스 로직 개발 - RDBMS 사용법 : SQL 과 ACID 트랜잭션 - 메시지브로커와 REST API를 활용한 IPC - 인증/인가의 보안 개념 특징 : 1. Y축 확장 : 기능에 따라 애플리케이션을 서비스로 분해 2. Y축을 기준으로 X축확장(복제) 또는 Z축 확장(파티셔닝). X..