[LG CNS AM CAMP 1기] 백엔드 II 10 | SpringBoot, MSA

letthem·2025년 2월 10일
0

LG CNS AM CAMP 1기

목록 보기
26/31
post-thumbnail

이전 JPA 프로젝트 수정

스프링 프로파일

로컬, 개발, 운영, 테스트 등 환경에 맞는 설정을 미리 정의하고, 실행 또는 패키징 시 원하는 설정을 이용할 수 있도록 지정

설정 파일을 분리

application.properties → application-dev.properties ⇐ 개발용
application-prod.properties ⇐ 운영용

application-dev.properties

spring.datasource.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
spring.datasource.url=jdbc:log4jdbc:mysql://localhost:3306/springbootdb?useUnicode=true&characterEncoding=utf-8&serverTimeZone=Asia/Seoul
spring.datasource.username=springboot
spring.datasource.password=p@ssw0rd

logging.level.root=info
logging.level.board=debug
logging.pattern.console=%d{ss.SSS} %highlight(%-5p) %cyan(%c) %m%n
logging.level.jdbc.sqlonly=info
logging.level.jdbc.resultsettable=info

application-prod.properties

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/springbootdb?useUnicode=true&characterEncoding=utf-8&serverTimeZone=Asia/Seoul
spring.datasource.username=springboot
spring.datasource.password=

logging.level.root=off
logging.level.board=error
logging.pattern.console=%d{YYYY.MM.DD HH:mm:ss.SSS} %highlight(%-5p) %cyan(%c) %m%n
logging.level.jdbc.sqlonly=error
logging.level.jdbc.resultsettable=error

application.properties

spring.application.name=board

spring.profiles.active=dev
# spring.profiles.active=prod

spring.jpa.hibernate.ddl-auto=update

spring.servlet.multipart.enabled=true
spring.servlet.multipart.location=c:\\uploads\\
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=30MB

token.expiration-time: 86400000
token.secret: My JWTToken's Secret is p@ssw0rd

테스트 ⇒ spring.profiles.active 값을 변경해서 실행 ⇒ 로그 패턴을 확인

spring.profiles.active=dev

spring.profiles.active=prod ⇒ 로그 출력이 감소되는 것을 확인 (로그에 년월일시분초 형식으로 시간 출력을 확인)

실행 시 사용할 프로파일을 지정


IT 환경의 변화


  • IaC : Infrastructure as Code
  • 가상화 : 하드웨어를 소프트웨어로 ! => 파일 형태로 되어있기 때문에 여러 장점이 있다.
    • 비용 절감
    • 형상관리가 가능하다.
    • 코드이므로 유지보수가 용이하다.

cloud란?

keyword

  • 가상화
  • 네트워크(인터넷)

정의 : IT자원(가상화)을 네트워크로 빌려서 사용하는 것

  • ondemand(요구가 있을 때 언제든지) 빌릴 수 있다.
  • 분산되어 있어서 가용성이 좋다.
  • 사용한 만큼만 지불한다.
- IaaS(Infra as a Service) : 가상머신, 네트워크 등을 빌려준다.
- PaaS(Platform as a Service) : 플랫폼. 운영체제와 기본적인 프로그램들을 설치해서 빌려주는 것. ex) 아파치 웹 서버, MySQL 등이 포함될 수 있다.
- SaaS(Software as a Service) : 소프트웨어 자체를 빌려준다.

cf_1
cf_2

Agile


애자일 101 👍

SRE(Site Reliability Engineer, 사이트 신뢰성 엔지니어링)

소프트웨어를 이용해서 프로그램을 생성하고 관리하는 것

Monolithic VS Microservices

리액티브 선언문 (The Reactive Manifesto)

현대 애플리케이션이 갖춰야 할 바람직한 속성들 ⇒ 응답이 잘 되고, 탄력적이며, 유연하고, 메시지 기반으로 동작하는 시스템 ⇒ 리액티브 시스템

scale-up vs scale-out

0개의 댓글

관련 채용 정보