OKdevTV Docs
Home OKdevTV
ESC
article 3 min read 3.4 KB Raw Markdown
On this page (7)

스프링캠프 2015

inside spring.io

  • grunt.js vs gulp.js
  • Config based : Code based
  • 플러그인 다수 : 적음

curl.js

bye bye src/main/webapp

.addResourceLocations

WebJar 클라이언스 리소스를 묶은 것

  • 왜 Client를 분리해야할까?
    • 프론트엔드 영역을 백엔드 개발자들만 잘 아는 환경 안에 두는 것은 유연성이 떨어진다.
    • 프론트엔드 빌드 도구를 독립적으로 사용할 수 있다.

ElephantDB

New Relic 모니터링 서비스 사용

스프링 환경변수

  • 그냥 하면 되는 것이 아니다.

  • 자주 변경되거나 확정되지 않은 데이터

    • 소스에 박아 넣으면 안되는 정보
  • 같은 용도이지만 개발, 테스트, 운영 등 다양한 조건마다 다른 데이터

    • DB 커넥션 정보
    • 외부 연동 URL 정보
  • 다양한 곳에서 사용하는 공통 데이터 존재

  • 환경변수가 중요한 이유?

    • 시스템의 유연성

(1) 클래스 상수 (2) properties 파일 (3) Spring without Profile

  • 3.1 이상에서 지원

  • 약간 무식한(?) 방법

    • java -Dkey=value
  • Maven과 Profile 기능 그리고, properties

  • mvn -P프로파일명 install

  • Maven Profile 장점

    • 스프링 애플리케이션에서는 단순한 설정형태 유지
  • 단점: 클래스 수가 많아지면 IDE 멍하게 도는 경우가 많아짐

Spring Boot와 YAML

  • YAML 핵심 장점
  • 하나의 문서 안에 문서를 나눌 수 있는 문법 ---

운영할수록 늘어가는 서버, 애플리케이션, 환경변수

스프링 부트의 로깅 의존성 관리

  • 어떤 로거를 썼는지 알 수 있는가?
  • 스프링 부트는 JCL을 사용
  • 애플리케이션은 SLF4j를 사용한다.
  • 애플리케이션은 Logback을 사용한다.

JCL (commons-logging)

  • 로깅 추상화 라이브러리

  • log -> log4j

  • JCL을 꺼리는 이유

    • JCL은 클래스로더에 의존적인 방법으로 구현체를 찾는다.
  • SLF4J는 로깅 라이브러리를 런타임이 아닌 컴파일 타임에 정한다.

    • 세 가지 모듈(Bridging, API, Binding)을 제공
    • 로그 문자열의 연산이 없다. 나은 성능

모니터링 시스템

  • 기존 모니터링 시스템 서비스별로 사용

    • Zabbix, Nagios, splunk, Ganglia, Cacti
  • 개발자가 보기 편한 모니터링 환경

  • collectd + logstash + elasticsearch + kibana

  • collectd의 소모 리소스가 매우 작아서 좋다.

  • elasticsearch는 kafka를 통해서 로그 데이터를 전달

  • kafka 로그를 스트링으로 보내주고 네트워크 장애시 큐 역할

  • 프론트엔드는 루비온레일즈로 완전히 분리

  • Spring Boot Actuator

    • HTTP endpoint(REST API), JMX, 등을 통해서 모니터링

Spring Integeration으로 본 메시징 세계

  • RestTemplate vs Http-outbound-gateway
  • 시스템 통합에 대한 해결방싱
    • File Transfer
    • Shared Database
    • Remote Procedure Invocation
    • Messaging
  • Messaging
    • 프로그램 간에 빠르고 신뢰할 수 있는 통신을 비동기 방식으로 가능케 하는 전송 기술
  • Enterprise Integration Patterns
  • Why Spring Integration?
  • 퍼포먼스가 잘 나올까요?