SpringBoot (6) 썸네일형 리스트형 카프카를 활용한 메세지 큐 0. 카프카와 주키퍼의 관계주키퍼 서버를 두고 하위에 명령을 받는 카프카 노드를 여러개 받는 형식입니다.->주키퍼는 하둡에서 나온 용어입니다. 하나의 컨테이너 내부에서 주키퍼, 카프카 최소 2개 이상의 컨테이너를 실행하기 위해 도커 컴포즈로 여러개의 컨테이너를 하나의 서비스로 정의하여 처리할 필요가 있습니다. 1. 도커 컴포즈(docker-compose.yml) 생성version: '3' # docker-compose 버전 지정services: # docker-compose의 경우 docker 컨테이너로 수행될 서비스들은 services 하위에 기술 zookeeper: # 서비스 이름. service 하위에 작성하면 해당 이름으로 동작 image: wurstmeister/zookee.. artillery 스트레스 테스트 0. Node.js 환경설정 아틸러리는 Node.js 환경에서 작동함으로 node.js, vsCode를 세팅합니다. 1. 아틸러리 세팅하기 Artillery Script를 저장할 폴저를 만들고 공식 문서에서 작성된 설치 문구를 터미널에 입력합니다. npm install -g artillery@latest 2. 아틸러리 스크립트 작성 먼저 아틸러리 스크립트를 활용하기 위해서 Learn Core Concepts에서 Test Scripts를 기반으로 작성합니다. yaml 파일 형식으로 되어있으므로 스크립트를 작성할 .yaml파일을 생성합니다. config: target: http://www.duktown.site/ phases: - duration: 60 arrivalRate: 1 - duration: 300.. 스프링 시큐리티 5.X에서 6버전으로 변경 1. 인증과 인가 인증이란 유저가 누군지인지 확인하는 절차 인가는 인증이 된 사람들을 대상으로 특정 기능에 대한 권한여부를 확인하는 절차 # 토큰 방식인 JWT가 유행하게 된 이유? 더보기 1. JWT는 인증 절차를 통해 유저 정보를 기반으로 권한을 확인하기에 인가가 쉽다. 2. 세션 기반은 세션을 서버 1개당 1개임으로 두 개 이상의 병렬로 연결되는 경우, 하나의 서버에서 발급한 세션을 다른 서버에서는 쓸 수 없다는 단점이 있습니다.따라서 병렬 방식으로 진행되는 서버 확장에서 문제가 발생할 수 있습니다. 예를 들면 결제 서버와 상품 서버가 분리되어 있다고 가정하면 세션 인증 기반은 각각 API에서 인증을 해야 하지만 토큰 기반 인증에서는 토큰을 가지는 주체는 서버가 아니라 클라이어늩이기 때문에 가지고 .. 스프링부트에서 RabbitMQ 메세지 큐로 사용 RabbitMQ란? Erlang으로 작성된 RabbitMQ로 Erlang을 먼저 설치해야 한다. 도커에서 Eralng이 포함된 이미지로 컨테이너를 만들어주고 있어서 도커를 사용하면 간단히 사용 가능하다. RabbitMQ 하나로 여러 개의 MSA를 관리할 수 있다. Producer, Consumer 개념 Producer는 메세지 큐에 publish(발행)해주는 역할을 한다. Consumer는 큐에 적재된 메세지를 꺼내서 소비하는 역할을 한다. 대시보드에서는 publish를 통해 메세지큐에 메세제를 적재해서 확인할 수 있다. 대시보드에서는 getMessage 명령을 통해 꺼낼 수 있다 도커를 사용한 RabbitMQ docker run -d -p 15672:15672 -p 5672:5672 --name rab.. 메세지큐 톺아보기 🔍메세지큐란? 메시지 큐(Message Queue)는 소프트웨어 시스템 간에 데이터를 비동기적으로 전송하는 데 사용되는 중간 매개체 이를 통해 시스템 간에 데이터를 안전하게 전달하고 처리할 수 있다. 메시지 큐는 일반적으로 분산 시스템에서 사용되며, 시스템 간의 결합도를 낮추고 확장성을 높이는 데 도움을 준다. 📌메시지 큐의 주요 구성 요소: 메시지: 메시지 큐를 통해 전송되는 데이터 단위로 요청 그 자체. 메시지는 텍스트, JSON, 바이너리 등 다양한 형식으로 구성될 수 있다. 큐: 메시지가 저장되는 공간입니다. 일반적으로 FIFO(선입선출) 방식으로 동작하며, 먼저 도착한 메시지가 먼저 처리된다. 생산자(Producer): 메시지를 생성하고 큐에 전송하는 역할을 합니다. 예를 들어, 데이터베이스에서.. 프로젝트 설정 : DB 연동 및 민감한 정보 마스킹 1. DB 연동 application.yml 파일에 설정을 추가합니다. server: port: 0 spring: application: name: user-service # MySQL 설정하기 datasource: url: jdbc:mysql://127.0.0.1:3306/DB명 username: 계정 이름 password: 계정 비밀번호 driver-class-name: com.mysql.cj.jdbc.Driver jpa: hibernate: ddl-auto: update properties: hibernate: format_sql: true show-sql: true 2. 정보 마스킹 resources 내에 application-XX.yml 형식으로 파일 생성합니다. - application-db... 이전 1 다음