Spring

· Spring
1. 문제 상황개발 환경에서는 Config Server 에서 데이터 소스를 가져다가 사용하고운영 환경에서는 github secrets, variales 에서 환경변수를 주입해서 EC2에 배포를 한다. 개발 환경의 yml을 보면,application-dev.ymlspring: application: name: auth-service config: import: "configserver:" cloud: config: discovery: service-id: config-service enabled: trueeureka: client: serviceUrl: defaultZone: http://localhost:19000/eureka/위 처..
1. Kompose란? docker-compose.yml 파일을 쿠버네티스를 실행하기 위한 yaml 파일로 변환하는 툴이다.https://kompose.io/ Kompose - Convert your Docker Compose file to Kubernetes or OpenShiftWhy do cats (and developers) like Kompose? Developers love to simplify their development environment with Docker Compose. With Kompose, you can now push the same file to a production container orchestrator! Getting Startedkompose.io https:/..
1. 이벤트 흐름지난 게시글에서는 결제를 생성한 뒤, "payment-completed" 토픽에 이벤트를 발행하는 것 까지 했다.https://griotold.tistory.com/81 이번 게시글에서는 해당 토픽에서 이벤트를 수신하여 주문의 상태를 COMPLETE 로 바꾸고,"order-completed" 토픽에 이벤트를 발행하여 알림 서비스에서 알림 발송하는 것까지 해보자.https://github.com/Griotold/kafka-practice-sparta GitHub - Griotold/kafka-practice-spartaContribute to Griotold/kafka-practice-sparta development by creating an account on GitHub.github...
1. 이벤트 흐름https://github.com/Griotold/kafka-practice-sparta  https://griotold.tistory.com/80 지난 게시글에서는  order MSA에서 주문 생성시 "order-created" 토픽에 메시지를 전달하는 것 까지했다. 이번 게시글에서는 payment MSA에서 메시지를 수신하고,결제를 생성한 뒤 "payment-completed" 토픽에 메시지를 전달하는 것을 구현해보자. 2. payment MSA의 application.ymlspring: application: name: payment-msa datasource: url: jdbc:h2:mem:testdb driverClassName: org.h2.Driver ..
1. Todo 애플리케이션 간단한 Todo 애플리케이션을 만든다. JSON을 반환하는 REST API application.아주 간단해서 생략....https://github.com/in28minutes/kubernetes-crash-course/tree/master/03-todo-web-application-mysql kubernetes-crash-course/03-todo-web-application-mysql at master · in28minutes/kubernetes-crash-courseLearn Kubernetes and Docker with Google Kubernetes Engine deploying Spring Boot Microservices - in28minutes/kubernete..
· Spring
1. Snake Case Snake Case는 프로그래밍에서 변수, 함수, 파일명 등 이름을 작성할 때단어 사이를 밑줄('_')로 구분하는 네이밍 규칙이다.모든 문자를 소문자로 작성하며, 공백 대신 밑줄을 사용하는 것이 특징인데,  예를 들어, user_namephone_number위와 같이 작성하면 Snake Case 를 따른 것이다. 일반적으로 JSON 데이터 포맷, 데이터베이스에서 주로 사용되는데, Java를 주로 쓰는 나로서는 Java의 기본 규칙인 Came Case와 충돌(?)하게 되어 문제가 될 때가 있다.물론, 문제라고 할 것 까지는 없는데,팀 프로젝트를 진행할 때는 코드 스타일을 정확하게 짚고 넘어가는 것이 협업하는 데 좋긴 할 것이다. 2. 팀 프로젝트 식당 예약, 줄서기 프로그램을 개발..
1. 로그(Log) 로그는 시스템, 애플리케이션, 또는 서비스에서 발생한 이벤트, 동작, 오류 등을 기록한 텍스트 기반 데이터이다.이벤트의 시간, 위치, 상태 등을 포함하고, 오류의 원인을 파악하는 데 쓰인다. 2. 메트릭(Metric) 메트릭은 시스템 또는 애플리케이션의 성능과 상태를 나타내는 수치 데이터이다.주기적으로 수집되어 시간에 따른 변화를 분석할 수 있다.대표적으로 CPU 사용률, 메모리 사용량, 스레드 풀, 데이터베이스 커넥션 풀 상태 등이 있다. 3. 로그와 메트릭을 수집해 본 적 있는가? Spring Boot Actuator를 사용해 메트릭을 생성하고 Prometheus에 저장한 다음 그라파나로 시각화한 경험이 있다.서버가 종료되거나, CPU 사용량, JVM 메모리, 톰캣 스레드 풀, 데..
1. LokiLoki 는 Grafana Labs 에서 개발한 수평 확장 가능한 로그 집계 시스템이다. Grafana와 쉽게 연동 되고, Prometheus, K8s와 궁합이 잘 맞는다.Elasticsearch과 비교하면, 성능과 제공하는 기능 측면에서 부족하긴 하지만, 시스템 상황을 확인하는 데는 가성비 있는 도구이다. 2. Spring 프로젝트 설정 build.gradledependencies { implementation 'com.github.loki4j:loki-logback-appender:1.5.1' //추가 implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'com.h2database:h2' im..
Griotold
'Spring' 태그의 글 목록 (2 Page)