요구사항 package - maven으로 jar 파일 빌드 docker_build - Docker image로 빌드한 후 ECR(Elastic Container Registry)에 푸시 deploy - EKS(Elastic Kubernetes Service)에 Pod로
AWS에서 제공하는 SSL/TLS 인증서 관리 시스템CA(인증 기관)에서 발급한 인증서(certificates)를 ACM에 등록하면 인증서 관리, AWS 서비스와 연결 등을 관리해준다. ACM에 인증서를 등록해놓으면 AWS 서비스들(Elastic Load Balance
GraphQL에서 공식적으로 지원하는 자료형(https://graphql.org/learn/schema/- IntFloatStringBooleanIDKotlin/Java를 사용하면 이 외에도 Long, Date와 같은 자료형을 사용하게 되는데, 이러한 자료형을
1편에서 다룬 내용 (보러가기)Front-end와 Back-end 분리Front-end에서 AccessToken을 받아 Backend에게 주면 Backend가 Google에 AccessToken으로 요청하여 Profile정보를 받아옴이번 편에서 다룰 내용Profile
DB Connection이 자꾸 끊기는 에러 발생AWS의 RDS for PostgreSQL을 사용하는데, 자꾸 RDB와의 커넥션이 끊긴다HikariPool이 뜨는 것으로 보아 JPA 에러인것 같다PostgreSQL에서 감당할 수 있는 Connection 수보다 Micr
장애 증상 kubectl 명령어가 먹지 않았다 AWS 콘솔에서 클러스터 노드를 확인해 봤는데 알 수 없음 상태로 나와 노드가 죽었다는 것을 확인할 수 있었다. 자동으로 노드가 다시 생성되어도 다시 자꾸 죽었다. node_failure 원인 확인 특정 pod가 생성
Cross Origin Resource Sharing다른 출처의 자원을 공유하는 것. Spring Cloud에서는 아무것도 설정하지 않으면 보안적인 이유로 다른 출처의 HTTP 요청을 제한하는 정책을 사용하고 있다. (SOP; Same Origin Policy)하지만
GraphQL이란? 페이스북에서 만든 쿼리 언어 SQL이 데이터 베이스 시스템에 저장된 데이터를 효율적으로 가져오는 쿼리언어라면 GraphQL(이하 gql)은 웹 클라이언트가 데이터를 서버로부터 효율적으로 가져오는 쿼리 아직 early-stage에 있는 기술이긴 하지만
기존에는 각 MicroService가 (Pod 단위로) Log 파일을 만들고, 그 로그파일을Persistent Volume Claim에 저장함으로써 로그 파일을 한 군데에서 관리하는 시스템이었다.장애가 날 경우 어디 MicroService 문제인지 추측해서 그 Pod의
Devstagram의 자체 회원가입 및 로그인 기능을 구현했다. 하지만 이렇게 할 경우 프로필 사진을 우리가 S3같은 Storage에 저장해야하는데, 그 비용은 오롯이 우리의 사비로 내야했다. 한 푼이라도 클라우드 비용을 아끼기 위해 생각해낸 것이 Oauth를 사용하는
Json Web Token사용자 인증을 위해 사용하는 암호화된 토큰3파트로 나누어지고, 각 파트는.(점)으로 구분header토큰 타입과 해시 알고리즘payload토큰에 담을 정보각 정보의 단위는 claimclaim은 key-value의 한쌍으로 이루어짐signiture
각각의 서비스마다 인증/인가 등 공통된 로직을 구현해야하는 번거로움이 있음수많은 API 호출을 기록하고 관리하기 어려움클라이언트에서 여러 마이크로 서비스에 대해 번거로운 호출을 해야함(서비스 주소가 달라지면 클라이언트도 알고있어야 함)내부의 비즈니스 로직이 클아이언트에
각각의 서비스마다 인증/인가 등 공통된 로직을 구현해야하는 번거로움이 있음수많은 API 호출을 기록하고 관리하기 어려움클라이언트에서 여러 마이크로 서비스에 대해 번거로운 호출을 해야함(서비스 주소가 달라지면 클라이언트도 알고있어야 함)내부의 비즈니스 로직이 클아이언트에
💡 MongoDB가 무엇인지는 MonogoDB 정리글 참고RDB vs MongoDB(NoSQL)DB 아키텍처를 보면 1:N 관계가 많다예를들어 MeetUP과 memeber_id관계를 보면, 한 밋업(모임)에 여러명의 참가자(MemberId)가 있을 수 있기 때문에 1
토이프로젝트를 할 때 RDB(Relational Database) 중 PostgreSQL을 선택했다선택한 배경에는 오픈 소스 데이터베이스라는 점과 ACID를 지키며 동시성 이슈를 개선한 MVCC라는 점이 마음에 들었다. ACID와 MVCC가 무엇인지 정리해보았다.개념
전통적인 관계형 데이터베이스 보다 덜 제한적인 일관성 모델을 이용테이블간의 조인 기능 없음Transaction ACID 미지원빅데이터와 실시간 웹 애플리케이션과 궁합이 잘 맞음SQL 계열 쿼리 언어를 사용할 수 있음대부분 여러 대의 데이터베이스 서버를 묶어서 (클러스터
Kubernetes 에 올릴 테스트용 MSA 만들기 Spring Boot로 프로젝트 생성 code: https://github.com/dayoungMM/simple-api-msa > 💡 jar 파일 앞에 붙을 prefix는 pom.xml의 artifactId에 따라
이하 Kubernetes -> k8s로 표시kubernetes cluster와 DB를 모두 private subnet에 생성개발 목적으로 외부에서 접속하기 위해 devstagram-master 생성버전관리를 위해 devstagram-master에서 Docker 생성 및
DB는 보통 BackEnd 서버들만 접속하면 되기 때문에 보안상 외부 접속이 안되는 Private Subnet에 생성한다. 하지만 개발 목적으로 외부 접속(DB 툴에서 DB에 접속하는 경우)을 할 때 우회해서 접속해야하는 일이 생긴다. Naver Cloud Platfo