치자피즈
close
프로필 배경
프로필 로고

치자피즈

  • 분류 전체보기 (118)
    • Linux (5)
    • 알고리즘공부 (37)
      • 자료구조 (13)
      • 알고리즘 (8)
      • 프로그래머스 (16)
    • Git (4)
    • SQL (3)
    • SW 공학 (8)
    • Java (6)
    • 한화 BEYOND SWCAMP 12기 (1)
      • 회고 (1)
    • 일상 (1)
      • 맛집 (1)
    • Spring (33)
    • Vue (1)
    • Docker (7)
    • Kubernetes (5)
    • DevOps (2)
  • 홈
  • 태그
  • 방명록
MSA의 비동기적(Asynchronous) 통신

MSA의 비동기적(Asynchronous) 통신

MSA에서 비동기적 통신을 정리하기 위한 글! 1. 비동기(Asynchronous) 통신비동기 통신은 서비스 간 요청과 응답이 즉각적으로 이루어지지 않고, 메시지를 보내고 나서 별도로 응답을 기다리지 않는 방식이다.이 방식은 서비스 간의 결합도를 낮추고 확장성을 높이며, 트래픽 폭증 시에도 안정적인 처리를 가능하게 한다. 대표적인 비동기 통신 방식으로는 메시지 큐와 이벤트 기반 아키텍쳐가 있다.  2. 메시지 큐 (Kafka, RabbitMQ) 개념메시지 큐는 생산자(Producer)가 메시지를 생성하여 큐(Queue)에 넣고, 소비자(Consumer)가 메시지를 가져가서 처리하는 방식이다.메시지 브로커가 중간에서 메시지를 관리하고, 보장된 순서로 메시지를 전달하며, 특정 메시지가 손실되지 않도록 방지할..

  • format_list_bulleted Spring
  • · 2025. 2. 28.
  • textsms

MSA의 동기적 (Synchronous) 통신

MSA 통신 방식 중 동기적 통신을 정리하기 위한 글!  1. 동기적 통신동기 통신 방식은 클라이언트가 요청을 보내고 응답을 받을 때까지 기다리는 방식이다.일반적으로 즉각적인 응답이 필요한 서비스에서 사용된다.  REST API✔️ 개념REST(Representational State Transfer) API는 HTTP 프로토콜을 기반으로 한 웹 서비스 통신 방식이다.REST의 기본 원칙을 따르면 클라이언트-서버 구조에서 상태를 유지하지 않고, -> stateless자원을 URI로 식별하여 CRUD(Create, Read, Update, Delete) 연산을 수행할 수 있다. ⚡ 특징자원(Resource): URI (예시: /user/login)로 접근 가능HTTP 메서드 활용JSON 또는 XML 데이터..

  • format_list_bulleted Spring
  • · 2025. 2. 28.
  • textsms

MSA란?

1. 개요1) MSA란?MSA(Microservices Architecture)는 하나의 애플리케이션을 여러 개의 독립적인 서비스로 구성하는 아키텍처 패턴이다.각 서비스는 특정한 비즈니스 기능을 담당하며, 독립적으로 배포 및 확장이 가능하다. 하지만, 이러한 구조에서는 개별 서비스가 단독으로 동작하는 것이 아니라, 다른 서비스와 데이터를 주고받으며 협력해야 한다. 따라서 서비스 간 원활한 통신이 필수적이다. 서비스 간 통신이 필요한 이유는 다음의 예시로 설명할 수 있다. 1. 데이터 공유 및 처리특정 서비스에서 관리하는 데이터를 다른 서비스에서도 활용해야 하는 경우ex)  주문 서비스가 사용자 서비스에서 고객 정보를 가져와야 하는 경우2. 업무 프로세스의 연속성하나의 비즈니스 로직이 여러 서비스에 걸쳐 ..

  • format_list_bulleted Spring
  • · 2025. 2. 27.
  • textsms

OpenFeign으로 API 호출 자동화하기

1. OpenFeign이란? OpenFeign이란 Spring Cloud에서 제공하는 선언적 HTTP 클라이언트이다.마치 인터페이스를 정의하듯이 API 호출을 할 수 있는 라이브러리입니다. 기존 RestTemplate이나 WebClient와 다르게, 인터페이스만 정의하면 자동으로 구현체를 만들어 주기 때문에 코드가 깔끔하고 유지보수가 편리하다.  2. OpenFeign을 사용하는 이유 1) 인터페이스만 정의하면 API 호출 가능 기존 RestTemplate은 다음과 같이 직접 HTTP 요청을 생성해야 한다.RestTemplate restTemplate = new RestTemplate();String response = restTemplate.getForObject("http://localhost:808..

  • format_list_bulleted Spring
  • · 2025. 2. 27.
  • textsms

Vue란?

1. VueVue.js(뷰)는 프로그레시브(Progressive) 자바스크립트 프레임워크로, 사용자 인터페이스(UI)를 만들기 위해 사용된다.한마디로 웹 화면을 더 동적으로 만들고 유지보수를 쉽게 해주는 도구 2. 특징1) 컴포넌트 기반화면을 작은 단위로 나눠서 개발 가능재사용성과 유지보수성이 높음2) 반응형(Reactivity) 시스템데이터가 변경되면 자동으로 화면이 업데이트됨3) 단일 파일 컴포넌트(SFC, .vue 파일)HTML, CSS, JS를 한 파일에서 관리 가능코드 가독성이 좋고 유지보수가 쉽다.4) 확장성Router, Pinia, CLI/Vite 등 다양한 툴을 지원하고 있다.CLI와 Vite는 Vue 개발 환경을 제공하는 빌드 도구Vite 기반에서 Vue 프로젝트 생성하기Node.js 설..

  • format_list_bulleted Vue
  • · 2025. 2. 26.
  • textsms

낙관적 락과 비관적 락

1. 낙관적 락 (Optimistic Lock)충돌이 자주 발생하지 않는다고 가정하고, 데이터를 갱신할 때 충돌을 감지하여 처리하는 방식 동작 방식데이터를 조회할 때 특정 버전 정보를 함께 가져옴업데이트할 때 기존 버전과 비교하여 변경되지 않았으면 업데이트버전이 다르다면 충돌이 발생한 것으로 생각하고, 갱신 실패 처리 후 재시도 또는 오류 반환장점동시성이 높은 환경에서 성능이 좋음 (락을 걸지 않으므로 대기 시간이 없다)데드락 발생 가능성 X단점충돌이 자주 발생하면 성능 저하충돌 감지를 위한 추가 로직 필요사용 예시 @Entitypublic class Product { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Lon..

  • format_list_bulleted Spring
  • · 2025. 2. 26.
  • textsms
  • navigate_before
  • 1
  • ···
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • ···
  • 20
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (118)
    • Linux (5)
    • 알고리즘공부 (37)
      • 자료구조 (13)
      • 알고리즘 (8)
      • 프로그래머스 (16)
    • Git (4)
    • SQL (3)
    • SW 공학 (8)
    • Java (6)
    • 한화 BEYOND SWCAMP 12기 (1)
      • 회고 (1)
    • 일상 (1)
      • 맛집 (1)
    • Spring (33)
    • Vue (1)
    • Docker (7)
    • Kubernetes (5)
    • DevOps (2)
최근 글
인기 글
최근 댓글
태그
  • #알고리즘
  • #programmers
  • #프로그래머스
  • #SpringBoot
  • #docker
  • #코딩테스트
  • #Spring
  • #도커
  • #설정
  • #Java
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바