Multiple Data Source 2

[Spring Batch] Multiple Data source를 활용한 Spring Batch

한국석유공사-오피넷(외부 api)로부터 전국 유가 평균, 지역별 저렴 주유소 등의 json data와,한국석유공사-오피넷에서 전체 주유소 정보 및 주유소 가격을 csv파일로 받아서 DB에 삽입하기 위해,Spring Batch을 구현했습니다.다중 데이터 소스프로젝트에 다중 데이터 소스를 사용한 이유는 다음과 같습니다.Batch Job을 진행하는 동안 DB에 부하가 가해질 수 있으며,부하가 조회 성능을 저하시킬 우려가 있었습니다.따라서,데이터 입력에는 MariaDB를 사용하였고,데이터 조회에는 Redis를 사용하여 성능을 높였습니다. 인메모리형 데이터 스토리지인 Redis를 캐시 스토리지로 사용한 이유는 Redis가 2ms 미만의 조회 성능을 지녔고,다양한 자료형을 다룰 수 있으며, NoSQL로 확장성 및 ..

Java 2024.02.23

[Spring] 예제와 함께 보는 다중 데이터 소스, Multiple Data Source(예제: Redis * 2, MariaDB *2)

개요 다양한 데이터를 다루는 경우, 대규모 시스템이나 마이크로 서비스 아키텍처를 사용하는 경우에, 다중 데이터 소스를 적용하는 것을 고려할 수 있고, (관계형 데이터 베이스와 NoSQL 데이터 베이스를 동시에 사용해야 할 필요가 있을 수 있습니다) 다중 데이터 소스를 적용하여 애플리케이션의 성능, 확장성, 유연성 수준을 높일 수 있습니다. 이러한 설정은 데이터 분리, 부하 분산, 백업 및 복구 전략, 그리고 성능 최적화와 같은 여러 가지 이점을 제공합니다. 예컨대, MariaDB 인스턴스 중 하나는 읽기용으로, 다른 하나는 쓰기용으로 사용할 수 있습니다. 또한 각 도메인별로 Redis 인스턴스를 사용하여 확장성과 유연성을 높일 수 있습니다. MariaDB를 읽기용과 쓰기용으로 나누는 것을 통해 부하를 분..

Java 2024.02.23
728x90
반응형