본문 바로가기

반응형

Spring

영상 인코딩 및 최적화를 위한 FFmpeg 사용법과 Spring Boot 연동 예제 영상 인코딩 영상 데이터를 압축하고 표준화된 형식으로 변환하는 과정 인코딩을 할땐 코덱이 사용되며, 원본 영상 데이터의 크기를 줄이고 호환성을 높이는 역할을 한다. 이로 인해 네트워크 전송 시 빠르게 전송되고 저장곤간을 절약할 수 있다. 코덱 코덱은 영상 데이터를 압축하고 해석하는데 사용되는 소프트웨어이다. 압축률, 품질, 호환성 등 다양한 측면에서 차이가 있으며 H.264, H.265, VP8, VP9 등이 대표적인 예이다. 컨테이너 컨테이너는 영상, 오디오, 메타데이터 등 다양한 데이터를 하나의 파일로 묶어 호환성과 재생을 보장하는 역할 MP4, AVI, MKV, MOV 등의 포멧이 있다. 영상 인코딩 및 최적화를 하는 이유 품질 유지 - 원본 영상의 품질을 최대한 보존하면서 효율적인 포맥으로 변환이.. 더보기
[JMeter] 10분만에 EC2에 Spring Boot 프로젝트 배포 및 RDS(Postgres) 연결 정리 시작전 참고 사항 기본적으로 spring 프로젝트의 개발 및 테스트가 끝났다고 가정하고 진행함 docker, nginx 등 부가 프로그램은 사용하지 않음 ssl 인증서 적용하지 않음 위 생략된 내용들은 해당 블로그 다른 글들에 작성되어있음 진행 순서 EC2 인스턴스 생성 RDS 인스턴스 생성 EC2, RDS 보안 설정 EC2에 ssh 접속하여 Java,postgres 설치 EC2에서 RDS 접속하여 DB 생성 Spring Boot DB연결 설정 및 빌드 및 Jar파일 생성 EC2에 scp 명령어로 Jar파일 전송 및 실행 postman으로 접속 확인 EC2 인스턴스 생성 (같은 내용의 작성된 글로 대체함) https://kanoos-stu.tistory.com/29 [AWS-EC2] EC2 인스턴스 생성.. 더보기
[JMeter] JMeter를 이용하여 성능 테스트 (with Spring Boot) Apache JMeter JMeter는 제공해주는 다양한 서비스들을 통해 성능을 분석 및 측정을 할 수 있는 부하 테스트 도구인 Apache 프로젝트이다. JMeter로 JDBC 데이터베이스 연결, FTP, HTTP, TCP연결 등의 단위 테스트를 진행할 수 있다. 제공해주는 기능으로 테스트 결과를 모니터링 및 분석에 큰 이점을 얻을 수 있다. Apache JMeter 설치 (mac os) brew를 통해 설치 brew install jmeter JMeter 콘솔 실행 /usr/local/Cellar/jmeter/5.4.3/bin/jmeter JMeter 참고사항 mac으로 JMeter 작업을 진행 시 발생하는 문제로 테마를 Darcula로 진행 시 저장할때 에러를 발생한다. 해결방법은 Dracular .. 더보기
[Spring Cloud] Resilience4j 를 이용한 circuitbreaker 기능 구현 Circuitbreaker란 circuitbreaker란 전기 회로의 회로 차단기에서 차용한 개념이며 주식 용어에서도 사용이 된다. 평상시에는 전기가 흐르거나 거래를 자유롭게할 수 있지만(close state) 급격한 이상 현상이 발생했을 때 회로를 차단 또는 주식 시장의 거래를 정지하여(open state) 각각 회로 보호와 시장의 안정을 위한 장치이다. 여기서 close state가 정상적인 상태이고 open state가 차단상태인지 헷갈릴 수 있는데 이는 전기회로에서 스위치의 개념을 이해해야한다. 왼쪽 회로와 같이 스위치가 닫혀있어야지 전류가 흐르고 회로가 정상 작동하게 되고 오른쪽과 같이 스위치가 열려있으면 전류는 흐리지 못하고 회로는 차단이 된다. micro service 에서도 이와 같은 개념.. 더보기
[SpringBoot] DB 연결 없이 Spring Boot 실행 시 에러 해결 증상 *************************** APPLICATION FAILED TO START *************************** Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider the following: If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. If you have d.. 더보기
[Docker] Dockerfile을이용하여 Spring 프로젝트 Image 생성 및 실행 Dockerfile Dockerfile은 새로운 image 를 만들기 위한 명령을 포함하고 있는 파일이다. 이 파일에 작성된 명령어와 base image를 통해 새로운 환경의 image를 만들 수 있다. Spring Project에 Dockerfile 생성 및 작성 아래 사진과 같이 자신의 Spring 프로젝트 폴더에 Dockerfile 이라는 이름의 파일을 생성해 준다. FROM openjdk:18-ea-jdk-slim VOLUME /tmp COPY build/libs/community-service-0.0.1-SNAPSHOT.jar community-service.jar ENTRYPOINT ["java","-jar","community-service.jar"] 작성 내용 FROM : 새로 생성할 Im.. 더보기
[Spring] Spring Boot 로그 - slf4j 와 Logback, Log4j2 의 차이점 Spring Boot의 로그 2021-11-11 11:10:58.789 INFO 40789 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.48] 2021-11-11 11:10:59.074 INFO 40789 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2021-11-11 11:10:59.075 INFO 40789 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationC.. 더보기
[AWS] 아주 쉽게 AWS ElastiCache 도입하여 spring 에서 redis 기능 구현 aws elastiCache redis + spring/kotlin aws elastiCache 콘솔 화면에서 redis탭의 생성 버튼으로 redis 메모리 생성 진행 * 클러스터 모드 - 클러스터 모드를 활성화하면 샤드를 추가 가능하다. 샤드를 추가하면 샤딩 방식에 따라 메모리에 저장되는 데이터를 특정 집단으로 분리하여 저장하므로 워크로드를 분산(성능 개선)한다. 샤딩 - 메모리에 데이터를 분리하여 저장하는 방식 elastiCache redis의 샤딩기법 - 모든 캐시 키가 해시 슬롯에 매핑되는 방식으로 샤딩을 활용. 1개의 클러스터는 16,384개의 슬롯을 사용할 수 있고 클러스터 내 총 샤드에 균등하게 배포 포트 - 일반적으로 redis는 6379 포트 사용 (건들지 말자) 샤드 수 - 분산시킬 파.. 더보기

반응형