728x90
WebSocket-STOMP 테스트하기SpringBoot의 테스트도구인 JUnit에서 WebSocket - STOMP 프로토콜을 테스트해보자더불어서, Connect시의 accessToken 검증을 거치는 별도로 제작된 interceptor 통과를 위한 설정도 함께 한다. 1. SocketClient 생성socketJS가 활성화된 서버임을 가정하며, 다음과 같이 session 객체를 얻어온다this.SOCKET_URL = "http://localhost:" + port + "/ws";this.session = setSession();...private StompSession setUserSession() throws ExecutionException, InterruptedException { // ..
그런 생각을 했다.이중화된 서버에 Socket 통신을 하면 요청 전달의 오류가 있진 않을까? 예를 들어, Socket.connect()로 HTTP 요청이 일어났다. 그리고 LoadBalancer가 Tomcat1로 전달한다.이후, Socket.publish()로 메시지를 발행했다. 그리고 LoadBalancer가 Tomcat2로 전달한다이러한 발상에 로드밸런서 측에 stickySession을 적용해야하는 게 아닌가 싶었으나, 조금 더 파해친 결과 해당 생각의 오류가 있었다. 1. Socket.connect() 호출 시- socket.connect()가 호출되면, WebSocket 연결이 설정된다. 이 시점에는 HTTP 통신이 이루져 Gateway에서 로드밸런싱이 일어날 것이다. - 초기 'connect()..
SpringBoot의 WithSocketJS 설정SpringBoot 서버 구축 시, withSocketJS() 라는 함수 활성화 선택지가 있다. 그 영향력은 아래와 같다..withSocketJS()가 아닐 때 Client의 접근 (ft. React)// in Spring@Overridepublic void registerStompEndpoints( org.springframework.web.socket.config.annotation.StompEndpointRegistry registry) { registry.addEndpoint("/ws") .setAllowedOriginPatterns("*"); // .withSockJS(); }import {..
1. Get 테스트하기특성 속성(Key)의 데이터(value) 존재, 타입 확인 @DisplayName("모든 정보를 조회한다") @FindWithMockUser @Test public void testFindAllInfo() throws Exception { mockMvc.perform(get(PREFIX) .headers(headers)) // Token 등 필요한 header 첨부 .andDo(print()) .andExpect(status().isOk()) // 기대 상태값 .andExpect(jsonPath("$.data[0].a").exist..
1. UUID-Ossp 익스텐션 설치Postgre 접속 후, Script로 아래의 Extention 설치create extension if not exists "uuid-ossp"; 2. 생성 확인select uuid_generate_v4()
👼🏻 귤씨, 뭐하고 지냈어요?🍊 제가 자격증이 없었어서요, 정처기랑 SQLD를 준비해봤어요👼🏻 어때요! 잘 됐어요?🍊 저도 알고싶은데, 2주 뒤에 알 수 있어요. 🗨️ 용어정리👼🏻: 이중화에 관해서 공부하겠다구요! 관련 용어들부터 봐봐요NameDescriptionAP 서버(Application Server)1. 서버 그 자체 2. 네트워크가 연결되어있다면 그 네트워크를 통해 Endpoint 간 통신을 할 수 있는 Server 3. HTTP, TCP, UDP 등 다양한 프로토콜을 전달받아 클라이언트에 서비스 제공Hot Standby1. 항상 Active 시스템과 동일한 데이터를 유지하여 대기하는 구성 2. 장애 발생 시, 즉시 전환 가능 3. 다운타임 최소화Cold Standby1. 장애 ..