Backend17 [gRPC] Retry Policy 적용기 문제 상황서비스 이용 중에 네트워크 불안정 등으로 인해 실시간 연결이 끊기는 것 같다는 요구사항이 다수 인입되었다.우리 서비스에서는 gRPC stream 으로 실시간 데이터를 주고 받고 있었는데, 발생한 오류 케이스를 살펴보니 네트워크 불안정으로 인해 실시간 stream 연결이 종료되었고, 이로 인해 추가 정보를 로드하지 못하는 현상이 발생하고 있었다.해결 방향실시간 정보를 받아오는 stream rpc 가 특정 조건(여기선 네트워크 끊김 또는 불안정 등)에 의해 단절되었을 경우, 재시도 정책을 구성하여 사용자들의 액션(앱 재시작 등) 없이도 다시 실시간 정보를 받아올 수 있도록 하고자 한다.해결 과정언제 rpc 가 중단되는가?먼저, rpc 가 언제 중단되는지를 알아보고자 한다. 정확히는, 네트워크 단절 .. 2024. 5. 25. [PostgreSQL] 날짜별 데이터 생성 select t.dt::datefrom generate_series(date '2022-1-1', date '2022-2-1' - interval '1 day', interval '1 day') as t(dt); 참조https://stackoverflow.com/questions/58769145/postgresql-with-recursive 2022. 12. 8. [인증] JWT (개념 정리, 특징, 구성요소, 토큰 탈취) JWT 란? Json Web Token (이하 JWT 또는 Token 또는 access token) 은 개방형 표준이며, Json 객체를 사용해서 Token 자체에 정보를 저장하는 Web Token 이다. JWT 속의 정보(데이터)는 디지털 서명을 통해 확인하고, HTTP 를 통해 JWT 을 전송하는 경우에는 Token 의 각 구성요소를 암호화하여 전송한다. JWT 발급 및 갱신은 Server 단에서 이뤄지며 JWT 를 전달받은 Client 는 해당 Token 을 지속적으로 활용하여 Sever 에 인증을 하기 때문에 Server 의 인증 절차 및 부하를 최소화 한다. JWT 는 3가지 구성요소로 이뤄져 있다. (각 요소별 구조 및 세부사항은 하단에서 확인) 장/단점 장점 크기: Json 코드 언어로 생성.. 2022. 10. 22. [인증] OAuth 2.0 (개념 정리) 소개 OAuth 2.0 은 인증을 위한 개방형 표준 프로토콜이다. Resource Owner(사용자) 를 대신해서 Resource Server 에서 제공하는 자원에 대한 접근 권한을 위임하는 방식을 제공한다. 대표적인 예로, Google, Facebook(현 Meta), Twitter, 국내 기업으로는 Kakao, Naver 등의 플랫폼에서 제공하는 간편 로그인 기능도 OAuth 2.0 프로토콜 기반으로 사용자 인증 기능을 제공하고 있다. Flow kakao 로그인 예시 (출처: 카카오 로그인) 여기서 Service Client 는 Resource Owner(사용자), Service Server 는 Client(Application) 이라고 생각하면 된다. OAuth 2.0 주요 용어 Authentica.. 2022. 10. 22. [gRPC] gRPC 란? (등장 배경, 개념 정리 및 Flow) 등장배경 Server-Client Model IPC (Inter-Process Communication) IPC(프로세스 간 통신)란, 프로세스 사이에 서로 데이터를 주고받는 행위 또는 그에 대한 방법이나 경로를 뜻한다. (출처: 위키백과 IPC 기법에는 PIPE, Message, Shared, Memory Map, Socket, RPC 등 여러가지가 있는데 대표적인 예로 몇가지 살펴보겠다. 1. Socket 양쪽 컴퓨터에서 정한 port 를 통해 서로 데이터를 주고받는 방식으로, ISO 7 Layer 구조에서 Transport Layer(L4) 의 TCP 또는 UDP 를 이용하기 위한 수단이다. 목적지와의 통신이 컴퓨터 내부가 아니라 온라인 범위에서 이뤄지기 때문에 네티워크 간 통신이라고 구분하기도 하.. 2022. 10. 22. [gRPC] Protocol Buffer Protobuf (Protocol Buffer) protocol buffer 는 XML 의 문제점을 개선하기 위해 제안된 IDL 이며 구조화된 데이터를 직렬화하는데 있어서 XML 보다 많은 장점들을 가지고 있다. 대표적으로 XML 에 비해 간편하고 파일 크기도 작고 속도도 빠르며 가독성도 좋다. Protocol Buffer 는 google 사에서 개발한 구조화된 데이터를 직렬화(Serialization) 하는 기법이다. Serialization (직렬화) 데이터 표현을 byte 단위로 변환하는 작업을 의미한다. 같은 정보를 저장해도 text 기반의 json 은 82 byte 가 소요되는 반면, 직렬화된 Protocol Buffer 는 필드 번호, 필드 유형 등을 1 byte 로 받아서 식별하고, 주어진 .. 2022. 10. 22. 이전 1 2 3 다음