Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Tags
- 코딩
- 면접(java
- 코딩문제
- 우선순위 큐(priorityqueue)
- 회고
- 이진 탐색(binary search)
- wil
- 배열
- css
- aop
- cs 공부)준비
- GIT
- 코딩테스트 준비
- 항해99
- 프로그래머스
- 자료구조
- Spring
- HTML
- 자바
- 99클럽
- Til
- Java
- ArrayList
- 정렬 알고리즘(sort algorithm)
- Entity
- Grafana
- 개발자 취업
- github
- 코딩공부
- 메서드
Archives
- Today
- Total
hayu's 개발 일지
[TIL]240401 Websocket(웹소켓) 본문
websocket
- HTML5 표준 기술로, 클라이언트와 서버 간의 양방향 통신을 열고, 실시간으로 데이터를 교환하는 방식이다.
-
- 단방향 통신 : TV, 라디오
- 지연 시간이 낮고 효율적이다.
- 단일 TCP 연결을 유지하기 때문에 메모리 및 네트워크 사용이 효율적이다.
- open connection 을 유지해줘야 하기 때문에 따로 chat server 를 만들어서 관리한다.
웹소켓의 동작 방식
- 웹소켓은 양방향 통신이기 때문에 연속적인 데이터 전송의 신뢰성 보장을 위해 Handshake 과정을 진행한다.
- 기존의 다른 TCP 기반의 프로토콜은 TCP layer에서의 Handshake를 통해 연결을 수립하는 반면, 웹소켓은 HTTP 요청 기반으로 Handshake과정을 거쳐 연결을 수립한다.
- Handshake 과정을 통해 연결이 수립되면 응용 프로그램 계층 프로토콜이 HTTP에서 웹소켓으로 업그레이드된다.
→ 업그레이드가 되면 웹소켓 연결이 닫힐 때 까지 웹소켓 프로토콜을 사용하여 데이터를 주고 받는다. (새로고침이나 창 닫기 등의 이벤트 발생 시 닫힌다. )
메세지 큐(message queue)
- Kafka, RabbitMQ
- 서비스들 간에 데이터를 주고 받는 방법중 하나이다.
- 메세지 큐를 사용하면 비동기적으로 데이터 처리가 가능하다.
장점
- 결합도를 낮춘다. (안정성, 유연성 ⬆️)
1:1 채팅
참고 자료
- https://tecoble.techcourse.co.kr/post/2021-08-14-web-socket/
'프레임워크 > spring' 카테고리의 다른 글
[TIL]240409 Dirty Checking (0) | 2024.04.09 |
---|---|
[TIL]240402 Polling, Long Polling, Websocket, SSE (0) | 2024.04.02 |
[TIL]240326 Dto의 toEntity (0) | 2024.03.26 |
[TIL]240321 엔티티(Entity) 연관관계 매핑(2) (0) | 2024.03.21 |
[TIL]240320 엔티티(Entity) 연관관계 매핑(1) (0) | 2024.03.20 |