Skip to content

Latest commit

 

History

History
62 lines (48 loc) · 2.58 KB

README.md

File metadata and controls

62 lines (48 loc) · 2.58 KB

다중 이미지 업로드 최적화: 병렬 스트림과 CompletableFuture

이 저장소는 다중 이미지 업로드 최적화: 병렬 스트림과 CompletableFuture 포스트의 예제 코드를 담고 있습니다.

처리 방법별 예제 바로가기

처리 방법별 코드는 각각의 브랜치에서 관리됩니다. (순차적 업로드 / 병렬 스트림 / CompletableFuture)

다중 이미지 처리 코드는 application 패키지의 ImageStorageService.java에서 확인할 수 있습니다. (순차적 업로드 / 병렬 스트림 / CompletableFuture)

주요 클래스 설명

image

  • PostFacadeService는 전체 이미지 파일 업로드를 ImageStorageService에 요청합니다.
  • ImageStorageService는 각 이미지 파일 업로드를 StorageClient에 요청합니다.
  • 이미지 업로드가 성공하면, PostFacadeService는 포스트 저장을 PostService에 요청합니다.

🗳️ 실제 s3 업로드 구현 코드는 S3StorageClient에 있습니다.

설정 (application.yml)

spring:
  datasource:
    url: jdbc:mysql://localhost:13306/sns
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
  jpa:
    open-in-view: false
    properties:
      hibernate:
        format_sql: true
    show-sql: true
    hibernate:
      ddl-auto: validate
  servlet:
    multipart:
      max-file-size: 1MB
      max-request-size: 10MB

cloud:
  aws:
    s3:
      bucket: {your-bucket-name}
    credentials:
      access-key: {your-access-key}
      secret-key: {your-secret-key}
    region:
      static: ap-northeast-2
      auto: false
    stack:
      auto: false

s3:
  base-url: {your-s3-bucket-base-url}

위 설정에서 {your-bucket-name}, {your-access-key}, {your-secret-key}, {your-s3-bucket-base-url}는 본인의 AWS 환경에 따라 적절히 변경하여 사용하면 됩니다.