배달의 민족, 요기요와 같은 배달 서비스
- 배달 서비스의 기능들을 직접 구현함으로써 Backend System을 이해한다.
- 대규모 트래픽에도 안정적인 어플리케이션을 구현한다.
- 나쁜 코드에 대해 지속적으로 리팩토링한다.
- ex) 배달의 민족과 같은 배달 서비스
- Spring Boot, Java11, Gradle, Mybatis, Mysql, JPA, Redis ,Docker 등
- Google code Style 준수
- pre-commit과 github-action에 checkStyle을 적용하여 위반한 것이 없는지 확인
- APM도구로 Elastic APM을 사용
- 팀원과 구성을 공통적으로 하기 위해 docker-compose를 이용하기로 결정
- elastic APM의 docker-compose 파일 예시
- docker를 사용하지 않는 elastic APM 설정 예시
- 버전은 7.17.1 사용
- VM options 설정
-javaagent:./elastic-apm-agent-1.29.0.jar -Delastic.apm.service_name=happy-delivery -Delastic.apm.server_urls=http://localhost:8200 -Delastic.apm.application_packages=com.happy.delivery -Delastic.apm.transaction_sample_rate=1 -Delastic.apm.trace_methods=com.happy.* -Delastic.apm.span_frames_min_duration=1ms -Delastic.apm.span_min_duration=0ms -Delastic.apm.trace_methods_duration_threshold=1ms -Delastic.apm.transaction_sample_rate=1 -Delastic.apm.enable_log_correlation=true -Delastic.apm.max_queue_size=2048
- pre-commit을 이용해 code convention 확인
- github-action을 이용하여 pr 시 build와 code convention 확인 (더블체크)