Devit 플랫폼을 개발한지는 시간이 조금 지났지만, 마감 기한에 맞추기 바빠 채팅구현에 대한 포스팅을 진행하지 못한 점이 아쉬워 복습할 겸 다시 공부해 기록을 작성하려한다. 👍🏻 STOMP 란 Simple Text Oriented Messaging Protocol 의 약자로, 텍스트 기반 메시징 전송을 효율적으로 하기 위한 프로토콜이다. 특징으로는 Rabbit MQ 와 같이 구독 발행 시스템인 pub/sub 기반으로 작동한다. 메시지에 대한 송신 수신에 대해서 명확하게 구분하며, 별도의 핸들러를 구현할 필요 없이 @MessageMapping 어노테이션을 통해 메시징에 대한 엔드포인트 처리를 진행 할 수 있다. 위 그림은 기본적인 Message Queqe 를 이용한 STOMP 로직이다. Message B..
구현 해야 하는 기능. 유저 헤더에서 토큰 값 가져와 유저 구분하기 (uuid) 유저 생성 ( RabbitMq 이벤트 처리 ) 유저 수정 (API) 유저 프로필 조회(API) 헤더에서 토큰 값 가져와 유저 구분하기 MSA 패턴에서 모든 요청은 GateWay 서버로 들어온다. 때문에 GateWay 에서 유저 인증, 인가처리에 대해서 모두 마친 후, 인증된 데이터를 토큰으로 만들어 헤더에 담는다. 그 헤더를 다시 해당하는 url에 맞추어 각 서버로 API 요청을 보낸다. 때문에 우리는 헤더의 유효성을 체크하지 않고, 그저 데이터를 가져다 사용하기만 하면 된다. public ResponseEntity getProfile(@RequestHeader("Authorization") String data) throw..
프로젝트 개발에 앞서, 본 서비스의 소개와 아키텍처에 대해 간략히 소개해보자. 더불어 내가 맡은 도메인들을 소개할 것이다. What ? 우리 팀은 개발자들을 위한 구인구직 웹 서비스를 계획했다. 구인구직 서비스는 많은데 ? 맞는 말이다. 때문에 차별성을 위해 우리는 개발자들에 초점을 맞추었다. 세상에는 정말 다양한 개발자가 존재한다. 학생, 인턴, 주니어, 시니어, 등등 ,, 개발자의 역량마다 할 수 있고, 해야하는 일은 전부 다 다르다. 예를 들어 간단한 초중학교 코딩 교육을 10년차 시니어 개발자가 할 수 없지 않는가 ? 용돈이 필요한 대학생 개발자가 적합할 것이다. 이처럼 우리는 일을 난이도, 역량에 맞추어 구분할 것이며 이를 적합한 개발자들에게 맞춤형으로 제공할 계획이다. ( feat .. 내가 ..