본문 바로가기

728x90

JAVA/SPRING

(2)
API Gateway 개념 1. 나오게 된 배경 고객 서비스를 위한 다양한 클라이언트가 나오기 시작했고, 서비스를 위해 필요한 다양한 정보들을 요구하기 시작했다. 이에 MSA가 유행하기 시작한다. 여기서 MSA란 마이크로하게 나눈 독립적인 서비스를 의미한다. 하지만 문제점이 발생한다. 클라이언트와 MSA간의 강한 결합이 있고, 너무 많은 통신을 요구하게 된다. 개별 서비스의 엣지 기능 제공 및 구현(보안, 로깅, 모니터링, 캐싱 등)이 어려워졌다. 무엇보다 결합이 크면 변경이 어렵기에 새로운 무언가가 필요했다. 이를 해결하기 위해 API Gateway 패턴이 등장한다. 2. API Gateway란? 크게 두 가지 기능을 제공한다. 첫 번째는 단일접점으로 마이크로 서비스를 모아서 단일접점을 제공한다. 두 번째는 캡슐화로 클라이언트 ..
특정 제품만 조작이 가능하게끔 권한 주기. 1. 특정 병원 번호만 어떻게 조작이 가능하게 할 것인가? 이걸 어떻게 구현할지 감이 안 온 나는, 우아한형제들 기술이사 김영한 님의 강의를 평소에 보고 있어서 아래와 같은 조언을 얻었다. 어떤 방법을 사용하든 권한 체크는 서버에서 추가로 해주어야 한다. 병원의 고유 번호(ex.5764)를 가진 사람이 5764번 병원만 정보를 수정하게끔 할 수 있는가 없는가에 대한 판단도 서버에서 모두 계산해서 클라이언트로 내려주는 것이 좋다. 2. 테이블 설계 먼저 아래와 같이 테이블을 설계했다. MemberAuthority 엔티티의 hospitalNo는 병원 번호를 뜻한다. ROLE_MANAGER(병원 관계자) 권한을 가진 사용자만 병원 번호를 가질 수 있다. 멤버는 권한에 따라 여러 개의 권한을 가진다. 예를 들어..

728x90