Spring Framework/Spring

Spring Framework/Spring

Spring cloud Eureka 등록된 애플리케이션 조회하기 - open feign 통신

이슈로컬에서는 localhost:8080, 8081, 8082 등 port 번호를 통해 구분하여 Open Feign 요청을 보내어 개발을 진행했습니다.하지만, 실제 배포되는 환경에서는 고유 IP 번호를 가지고 있으니, IP 번호가 바뀐다면 일일이 전부 변경해 줘야 되는 것이 너무 번거롭다고 생각이 들었습니다. 그래서 Spring Cloud Eureka Server를 이용해서 각 Spring Cloud Server를 등록하고 필요한 곳에서 application name으로 원하는 서버의 주소를 공유해 Open Feign 인터페이스로 처리하였습니다. 문제👉 Spring Cloud Eureka Server에 마이크로 서비스를 등록하는 방법은 알고 있지만, 등록된 Spring Cloud Server는 어떻게 ..

Spring Framework/Spring

Spring MySQL 최적의 DBCP 설정 방법 - hikariCP, MySQL Connection 옵션 이해하기

유튜브 "쉬운 코드" 강의를 바탕으로 정리한 글입니다.https://www.youtube.com/watch?v=zowzVqx3MQ4 DB 요청/응답 흐름 이해하기 일반적으로, 쿼리 요청/응답 과정에서 네트워크 통신이 발생합니다. (TCP 기반으로 동작)높은 송수신 신뢰성을 가짐 (연결 지향)매번 데이터를 조회할 때 connection을 열고 닫으면 시간적인 비용이 크게 발생한다. (서비스 성능에 좋지 않다.)이를 개선하기 위해 미리 연결된 커넥션을 가지고 있으면 좋음 DBCP 미리 데이터베이스에 연결 요청을 보내고, 연결된 connection을 애플리케이션 서버에서 관리하고 있는다.API 요청이 들어오면 관리하고 있는 Connection Pool에서 하나의 connection을 가져가 사용합니다.데이터베..

Spring Framework/Spring

Spring h2 인메모리 DatabaseCleaner 적용 방법 - 테스트 데이터 초기화를 통한 독립적인 테스트 환경 구축

h2 인메모리 환경 Database Cleaner 오작동문제상황기존 DatabaseCleaner 코드@Componentpublic class DatabaseCleaner { @Autowired private DataSource dataSource; @Autowired private JdbcTemplate jdbcTemplate; private List tables; @PostConstruct public void init() { this.tables = jdbcTemplate.query("show tables", (rs, rowNum) -> rs.getString(1)).stream().toList(); } public void clean() throws SQLExcepti..

Spring Framework/Spring

Spring ServletContainer, Dispatcher Servlet 동작 위치 이해하기 - Filter, Interceptor 특징 및 처리 순서

Servlet이란Servlet은 클라이언트의 요청을 처리하고, 그 결과를 응답하는 Java의 웹 프로그래밍 기술이다.Servlet Container는 웹 서버에 오는 요청을 가장 먼저 받습니다.Servlet Filter를 통해 전달받은 요청을 필터링할 수 있습니다. Spring Security의 Filter도 Servlet Filter에 속하며, 해당 위치에서 인증/인가를 처리합니다.Servlet 특징클라이언트의 요청에 대해 동적으로 작동한다.Java Thread를 이용하여 동작한다.Request, Response 객체를 통해 개발자가 직접 HTTP 요청을 Parsing 하지 않고 편리하게 사용할 수 있게 해 준다.Servlet 통신 방식클라이언트 요청이 Servlet Container로 Request를..

kylo
'Spring Framework/Spring' 카테고리의 글 목록