728x90 반응형 전체 글313 [Spring][WebSocket] 채팅 입장, 퇴장 메시지 구현하기(Web Socket with STOMP) (2) https://growth-coder.tistory.com/157 [Spring][WebSocket] 스프링 STOMP와 웹 소켓 개념 및 사용법 (Web Socket with STOMP) (1) 클라이언트와 서버가 통신할 때 HTTP 통신을 주로 사용한다. HTTP 통신은 다음과 같은 특징이 있다. 비연결성 (connectionless) : 연결을 맺고 요청을 하고 응답을 받으면 연결을 끊어버린다. 무상태성 ( growth-coder.tistory.com 이전 포스팅에서 예제를 통해 간단한 채팅 서버를 구현해보았다. 이번 포스팅에서는 간단한 입퇴장 메시지를 구현하고 채팅 메시지를 입력하는 사용자를 식별해보려고 한다. 이전 포스팅에서 사용한 코드를 그대로 사용하였고 약간 수정을 하였다. 복습 삼아서 잠깐.. 2023. 5. 19. [Spring] @Value 동작 방식 및 주의 사항 프로젝트를 진행하다보면 시크릿 키와 같이 외부에 노출해서는 안되는 값들을 사용할 때가 있다. 만약 코드 내부에 시크릿 키를 저장하고 사용할 경우 깃 허브에 올리면 외부에 노출되게 된다. 이럴 경우 application.properties와 같은 파일에 보안이 필요한 값들을 넣어두고 .gitignore로 등록하여 외부에 노출되지 않도록 하곤 한다. 그리고 이 application.properties에 보관된 값을 꺼내오는 어노테이션이 바로 @Value이다. @Value를 단순하게 "application.properties에서 값을 꺼내온다"라고만 이해하고 사용하다가 오류가 발생하였다. 그래서 한번 @Value에 대해 알아보고 내가 실수했던 내용을 정리해보려고 한다. @Value @Value 어노테이션은 p.. 2023. 5. 18. [Spring] 스프링 웹 소켓 TextWebSocketHandler 사용법 이번 포스팅에서는 스프링에서 제공하는 TextWebSocketHandler를 사용해서 채팅 기능을 구현해보려고 한다. 대부분의 서버와의 통신 프로토콜은 HTTP를 사용할 것이다. HTTP 통신은 다음과 같은 특징이 있다. 비연결성 (connectionless) : 연결을 맺고 요청을 하고 응답을 받으면 연결을 끊어버린다. 무상태성 (stateless) : 서버가 클라이언트의 상태를 가지고 있지 않는다. 단방향 통신이다. 이러한 HTTP 통신의 경우 채팅과 같은 실시간 통신에 적합하지 않다. 물론 HTTP 통신으로 실시간 통신을 흉내낼 수는 있으나 완벽하지는 않다. 실시간 통신이 필요할 때 사용하는 통신을 소켓 통신이라고 한다. HTTP 통신과 다르게 연결을 맺고 바로 끊어버리는 게 아니라 계속 유지를 하.. 2023. 5. 17. [AWS] EC2 속도가 급격하게 저하되는 현상 (time out) EC2에 스프링 부트 서버를 배포해서 프론트엔드와 통신하던 도중 EC2 속도가 급격하게 저하되는 현상이 발생하였다. 처음에는 원할하게 잘 진행되다가 어느 순간부터 속도가 느려지더니 결국 time out이 발생하였다. ALB를 통해서 EC2로 라우팅을 하도록 구성을 하였는데 ALB에서 health check에 실패하였고 원인은 time out이었다. time out의 발생 원인은 정말 다양할텐데 그 중 하나의 원인을 포스팅 해보려고 한다. 나 같은 경우는 EC2 인스턴스의 CPU 사용률이 100%에 가깝에 도달해서 발생한 문제였다. EC2 인스턴스의 모니터링 탭을 보면 이를 확인할 수 있다. 보다싶이 CPU 사용률이 최고 99.7%까지 올라갔었고 이로 인해 EC2 속도 저하 및 time out 에러가 발생.. 2023. 5. 16. 이전 1 ··· 33 34 35 36 37 38 39 ··· 79 다음 728x90 반응형