반응형 전체 글48 AI-Notion https://striped-stilton-0bb.notion.site/AI-25bff4b0c12e80f7b97cf1e391761718 AI | NotionMade with Notion, the all-in-one connected workspace with publishing capabilities.striped-stilton-0bb.notion.site https://jaeyeon-kim.notion.site/MLOps-486a7bcd320b4e9f93a70b5691b88dd1 패스트캠퍼스 MLOps 실습자료 | Notion도커와 쿠버네티스jaeyeon-kim.notion.site https://sour-source-3a5.notion.site/MLOps-b5c20da66b5a407b83e8097d8.. 카테고리 없음 2025. 8. 26. 인증 세션 관리 고객사의 시스템이 채널을 확대하고 사용자 수가 증가함에 따라 인증 및 세션 관리에 관련된 문제가 발생할 수 있습니다. 이러한 문제를 해결하기 위해서는 인증 방식을 개선하고, 확장 가능한 세션 관리 방법을 도입하는 것이 중요합니다. 아래는 이를 해결하기 위한 몇 가지 주요 개선 방안입니다. ### 1. **인증 방식 개선** #### a. **OAuth 2.0 및 OpenID Connect 도입** - **OAuth 2.0**: 다양한 클라이언트 애플리케이션이 사용자의 자원에 접근할 수 있도록 권한을 위임하는 프로토콜입니다. 이를 통해 애플리케이션 간에 인증을 통합하고, 안전하게 접근 권한을 관리할 수 있습니다. - **OpenID Connect**: OAuth 2.0 위에 구축된 인증 프로토콜로, 사용자.. 카테고리 없음 2024. 8. 12. 데이터모델링 숙박업과 요식업을 통합하여 운영하는 비즈니스에서는 데이터 모델링이 중요합니다. 이 두 가지 사업 영역이 연관되어 있으므로, 통합된 데이터 모델은 고객 정보, 예약, 재고 관리, 결제 등의 데이터를 효율적으로 관리할 수 있어야 합니다. 아래는 숙박업과 요식업을 포함하는 데이터 모델링의 개요입니다. ### 1. **주요 엔터티 (Entities)** - **고객(Customer)** - `CustomerID`: 고객 식별자 - `Name`: 이름 - `Email`: 이메일 - `Phone`: 전화번호 - `Address`: 주소 - `Preferences`: 고객의 선호사항 (예: 식사, 방 유형 등) - **숙박 예약(RoomReservation)** - `ReservationID`: 예약 식별자 - `C.. 카테고리 없음 2024. 8. 12. 로그인 사용자 동시성 제어 100명의 로그인 사용자가 동시에 예약을 시도할 때, 시스템의 안정성과 일관성을 보장하기 위해 여러 가지 제어 방법을 사용할 수 있습니다. 아래는 대표적인 방법들입니다: ### 1. **데이터베이스 잠금 (Locking)** - **행 수준 잠금(Row-level locking):** 예약 시도를 하는 데이터베이스의 특정 행에 대해 잠금을 설정하여, 동시에 여러 사용자가 같은 자원을 예약하지 못하게 합니다. 예를 들어, 특정 시간 슬롯이나 자원에 대한 예약을 동시에 처리할 때, 하나의 트랜잭션이 끝날 때까지 다른 트랜잭션은 대기하게 됩니다. - **낙관적 잠금 (Optimistic Locking):** 데이터가 업데이트되기 전의 상태를 기억해 두었다가, 업데이트 시도 시 기존의 상태와 비교하여 충돌이 발.. 카테고리 없음 2024. 8. 12. ap lock 자료 구성 방안●ICIS-Tr는 Ap-Lock은 MSA 구조를 고려하여 모든 MS(MicroService)에 적용되어 있는 SA 공통 라이브러리를 통해 Lock 처리를 제공한다.○KOS의 경우 SOA 환경의 ESB 공통에서 Lock 처리를 제공한다.●Ap-Lock 처리는 통합UI 와 연동하는 API에서만 처리하고 MS간 API 호출 시에는 Ap-Lock 처리를 하지 않는다.○통합UI와 연동하는 API가 Lock처리의 주체가 된다.○단 비동기 환경에서는 유틸을 통해 수동으로 처리한다.●KOS Ap-Lock 서비스 연계는 공통 Itg-Gw에서 제공한다.●MSA 환경의 다양한 연동 구조를 고려하여 비지니스 영역에서 Ap-Lock을 제어할 수 있는 유틸을 제공한다.○Lock 스킵, Lock 삭제, UnLock 처리기.. 카테고리 없음 2024. 8. 9. Multi Cluster 필요성 검토 1. 개요ICIS-TR 프로젝트 중 PRD 환경은 고가용성을 위해 3개의 물리 클러스터(관리/천안/탄방)로 분리되어 운용될 계획이다.클러스터가 분리됨에 따라 발생되는 이슈들 및 이를 보완할 수 있는 Multi Cluster 필요성에 대해서 검토한다.Multi-Cluster 아키텍처가 구성될 경우 다음과 같은 장점이 있다.· ●클러스터별로 구성된 서비스는 상호 간섭 없이 서비스 제공 가능· ●DevPilot, Jenkins, Airflow, Kafka, Redis, Elastic Stack 등 Backing Service나 DevOps 서비스의 재활용이 용이· ●다수의 클러스터를 가상의 클러스터로 연결하여 가용성 증가 (DR, 장애 처리 등)· ●VMWare Tanzu, Rancher, Opensh.. 카테고리 없음 2024. 8. 9. 인증/ 토큰 다음은 DX-PLUS 인증모듈 내부 동작을 직접 수정해야하는 개발자를 위한 코드 레벨 가이드입니다. 우선 토큰 사용 시의 흐름을 살펴본 후, 토큰 발급 시의 흐름을 클래스 레벨로 살펴보도록 하겠습니다. 마지막으로는 토큰 커스터마이징이 필요한 경우 어느 클래스를 수정하면 되는지에 대한 간략한 가이드를 제공합니다.토큰 사용 시 코드 레벨 플로우DX-PLUS common 패키지의 여러 기능 중, 토큰과 관계 있는 핵심 플로우는 아래와 같습니다. common 패키지를 지닌 모든 DX-PLUS 모듈들은 해당 플로우를 거쳐 최종적으로 '복호화되고 유효한 토큰'만을 각 Controller에서 획득할 수 있습니다. 조금 더 상세하게는 API Request의 Authorization 헤더로 들어온 Bearer 토큰을 획.. 카테고리 없음 2024. 8. 9. 로그인, 중복 로그인 방지 1. 프로세스 개요리프레시 토큰과 액세스 토큰을 함께 사용하여, 액세스 토큰의 유효 기간을 짧게 유지하면서도 사용자가 자주 로그인할 필요가 없도록 합니다. 리프레시 토큰은 서버에서 관리되며, 중복 로그인 방지와 함께 사용됩니다.2. 프로세스 단계1. 로그인 요청사용자 로그인 요청:사용자가 자격 증명(예: 사용자명과 비밀번호)을 서버에 제출합니다.자격 증명 확인:서버가 데이터베이스에서 자격 증명을 확인합니다.JWT(액세스 토큰) 및 리프레시 토큰 생성:자격 증명이 유효하다면, 서버는 액세스 토큰(JWT)과 리프레시 토큰을 생성합니다.액세스 토큰은 비교적 짧은 유효 기간(예: 15분)을 갖고, 리프레시 토큰은 더 긴 유효 기간(예: 7일)을 가집니다.리프레시 토큰은 고유한 식별자(JTI 또는 UUID)로 생.. 카테고리 없음 2024. 8. 9. 다중채널에서 토큰이 유리한 이유 다중 채널 환경에서는 토큰 기반 인증이 세션 기반 인증보다 더 적합한 이유는 여러 가지가 있습니다. 이들 이유는 토큰의 자체적인 특성과 다중 채널 환경의 요구사항에 기인합니다. 아래에서 주요 차이점과 장점을 설명하겠습니다.1. 무상태(Stateless) 아키텍처세션 기반 인증:세션 기반 인증은 서버에 상태를 저장하는 방식입니다. 즉, 클라이언트의 인증 상태가 서버의 세션 스토리지에 저장되며, 클라이언트는 세션 ID를 통해 서버에 자신의 상태를 확인시킵니다.다중 서버 환경에서는 세션 스토리지를 중앙에서 관리해야 하며(예: Redis), 모든 서버가 동일한 세션 정보를 공유할 수 있도록 해야 합니다. 이는 추가적인 복잡성과 관리 부담을 초래합니다.토큰 기반 인증 (예: JWT):토큰 기반 인증은 무상태(St.. 카테고리 없음 2024. 8. 9. redis 활용 동시성 방안 아키텍처 다이어그램 구성 요소:사용자 계층 (Users):여러 사용자 아이콘 (PC, 스마트폰 등)으로 표시.사용자들이 이벤트 신청 버튼을 클릭하며 요청이 발생.각 사용자로부터 로드 밸런서로 연결되는 화살표를 표시.로드 밸런서 (Load Balancer):사용자가 보낸 요청을 여러 애플리케이션 서버로 분산.로드 밸런서에서 각각의 애플리케이션 서버로 연결되는 화살표를 표시.애플리케이션 서버 (Application Servers):여러 개의 서버 (예: 서버 A, 서버 B, 서버 C).각 서버는 사용자 요청을 처리하고, Redis 클러스터와 데이터베이스에 접근.로드 밸런서에서 애플리케이션 서버로 연결된 화살표를 표시.Redis 클러스터 (Redis Cluster):분산 잠금 처리를 위해 구성된 Redis 클.. 카테고리 없음 2024. 8. 9. redis 활용 동시성 제어 구현 방법각 이벤트에 대해 Redis에 별도의 키를 사용하여 티켓 수를 저장하고, 예약 처리 시 해당 이벤트의 티켓 수를 관리하면 됩니다. 아래는 이를 구현하는 Java 코드 예시입니다.초기 설정1. MariaDB에서 Redis로 초기 티켓 데이터 로드import org.redisson.api.RedissonClient;import org.redisson.config.Config;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;public class ReservationInitializer { private static RedissonCli.. 카테고리 없음 2024. 8. 7. 상품 관리 ERD예시 Table 사용자 { 유저ID INT [pk] 이름 VARCHAR(50) 폰넘버 VARCHAR(15) 프로필_이미지 VARCHAR(255) 매너온도 DECIMAL(3,1) 재거래희망률 DECIMAL(3,1) 응답률 DECIMAL(3,1) 본인인증여부 BOOLEAN}Table 사용자동네 { 사용자동네코드 INT [pk] 유저ID INT [ref: > 사용자.유저ID] 지역코드 VARCHAR(10) [ref: > 지역정보.지역코드] 만든날짜 DATETIME 변경날짜 DATETIME 상태 VARCHAR(10) 대표지역여부 BOOLEAN 인증여부 BOOLEAN}Table 지역정보 { 지역코드 VARCHAR(10) [pk].. 카테고리 없음 2024. 8. 7. 이전 1 2 3 4 다음 반응형