일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- K8s
- gradle
- IntellJ
- jvm
- Java
- list
- 토비의 스프링 정리
- Real MySQL
- JPA
- Stream
- Collection
- GC
- 자바
- Kotlin
- redis
- 이스티오
- OS
- 백준
- 보조스트림
- 스프링
- Stack
- thread
- spring
- SpringBoot
- 스트림
- mysql
- 토비의 스프링
- MSA
- 자바 ORM 표준 JPA 프로그래밍
- 쿠버네티스
- Today
- Total
목록2021/10 (6)
인생을 코딩하다.
안녕하세요. 이전 글은 "MSA의 BFF 패턴, 외부 구성 저장소 패턴, 인증 인가 패턴이란?"라는 주제로 글을 작성하였었는데요, 이번에는 "장애 및 실패 처리를 위한 서킷 브레이커 패턴 및 모니터링과 추적 패턴"라는 주제로 글을 작성해 보았습니다. 장애 및 실패 처리를 위한 서킷 브레이커 패턴 여러 서비스로 구성된 시스템에서는 한 서비스에 장애가 발생했을 때 다른 서비스가 영향을 받을 수 있습니다. 이때 장애가 발생한 서비스를 격리해서 유연하게 처리할 수 있는 방법이 필요한데 이를 위한 한 가지 방법이 서킷브레이커 패턴입니다. 시스템 과부하나 특정 서비스에 문제가 생겼을 때 자연스럽게 다른 정상적인 서비스로 요청 흐름이 변경되게 해야합니다. 그러자면 서비스 상태를 항상 실시간으로 관리해서 시각화하고 모..
안녕하세요. 저번 글에서는 Spring cloud 적용에 사용되는 컴포넌트 중 하나인 Eureka에 관해서 글을 작성해 보았습니다. 이번글은 BFF 패턴에 관해 글을 작성해보도록 하겠습니다. BFF (Backend for Frontend) 패턴이란? 최근에는 PC뿐만 아니라 다양한 모바일 장비를 사용하기 때문에 다양한 클라이언트를 고려해야 합니다. 이처럼 다양한 클라이언트를 위해서는 특 화된 처리를 위한 API 조합이나 처리가 필요합니다. 이를 위한 해결 방법으로 BFF(Backend for Frontend) 패턴이 존재합니다. BFF 패턴은 API 게이트웨이와 같은 진입점을 하나로 두지 않고 프론트엔드의 유형에 따라 각각 두는 패턴입니다. 프론트엔드를 위한 백엔드라는 의미로 BFF이라고 부릅니다. 각 ..
저번 글에서는 MSA에 관한 글을 작성했었습니다. 이번 글에서는 각기 다른 IP / Port/ instanceId를 가지고 있는 MicroService(인스턴스서버)들의 정보를 레지스트리에 등록할 수 있게 하고, MicroService의 동적인 탐색과 로드밸런싱을 할 수 있게 도와주는 Spring Cloud 적용에 사용되는 컴포넌트 중 하나인 Eureka에 관해 알아보도록 하겠습니다. Spring cloud(스프링 부트 + 넷플릭스 OSS)란 무엇일까요? 넷플릭스 OSS를 더 쉽게 쓸 수 있도록 스프링 진영의 피보탈에서는 기존의 스프링 부트 프레임워크에서 잘 돌아갈수 잇도록 넷플릭스 OSS 모듈들을 스프링 프레임워크로 감싸서 스프링 클라우드라는 명칭으로 발표했습니다. 비즈니스가 성장하면서 MicroSer..
SAML(Security Assertion Markup Language)이란 무엇일까요? 사용자 인증 및 승인 데이터를 교환하는 안전한 웹 도메인을 제공하는 XML 표준이라고 할 수 있습니다. SAML에는 두 가지 주요 보안 기능이 있습니다. 인증: 사용자가 본인인지 확인 권한 부여: 특정 시스템 또는 콘텐츠에 액세스하기 위한 앱에 사용자 권한 전달 SAML(Security Assertion Markup Language)은 어디에 쓰이는 걸까요? SAML을 사용하면 SAML 프로토콜 및 서비스를 지원하는 하나 이상의 애플리케이션에서 사용자들에게 SSO(Single Sign-On)를 제공할 수 있어, SSO를 통해 하나 이상의 애플리케이션을 대신하여 여러 보안 기능을 수행할 수 있습니다. SSO는 웹 애플..
JWT를 사용하여 인가/인증 처리를 할 때, 로그아웃과 관련된 이슈가 한 가지 있습니다. JWT 특성상 자체 만료시간이 기술되어 있으므로 강제 무효화가 안된다는 문제 입니다. JWT에 직접 기술된 만료시간으로 무효화가 되기 때문이죠. 이런 AccessToken을 무효화하기 위해 Oauth2.0을 사용하여 아래의 그림처럼 opaque token을 고려해볼 수 있습니다. Opaque token이란? 이름에서 알 수 있듯이 전달하는 정보 측면에서 불투명합니다. 토큰은 인증 서버에 저장된 정보를 가리키는 식별자일 뿐이며 서버 측에서 자체 검사를 통해 유효성을 검사합니다. 기존 JWT AccessToken의 자체 만료시간으로 인해 강제 무효화가 안되는 것을 Oauth2의 opaque token을 사용하여 로그아웃..
Apache Kafka란? Apache Kafka는 이벤트 스트리밍 플랫폼입니다. Kafka는 고성능 TCP 네트워크 프로토콜을 통해 통신하는 서버와 클라이언트로 구성된 분산 시스템입니다. 베어메탈 하드웨어, 가상 머신, 온프레미스 및 클라우드 환경의 컨테이너에 배포할 수 있습니다. 서버 : Kafka는 여러 데이터 센터 또는 클라우드 지역에 거쳐 있을 수 있는 하나 이상의 서버 클러스터로 실행됩니다. 이러한 서버 중 일부는 브로커라고 하는 스토리지 계층을 형성합니다. 다른 서버는 Kafka Connect 를 실행 하여 데이터를 이벤트 스트림으로 지속적으로 가져오고 내보내고 Kafka를 관계형 데이터베이스 및 기타 Kafka 클러스터와 같은 기존 시스템과 통합합니다. 미션 크리티컬한 사용 사례를 구현할 ..