들어가기 order-service에서 주문 내역을 저장하는 부분을 JPA와 Kafka Connect를 이용한 두 가지 방법으로 구현했었다. Kafka를 사용했을 때의 장점은 카프카가 DB로의 저장 요청을 대신 수행하므로 어플리케이션에서는 Kafka로 요청을 보내고 클라이언트에게 바로 응답을 할 수 있다는 점이다. OrderJpaService@Service@Transactional@RequiredArgsConstructorpublic class OrderJpaService implements OrderService { private final OrderRepository orderRepository; private final OrderProductRepository orderProductRep..
딜리버드이츠 최종 결과물 발표 자료입니다. 기능소개 사용한 주요 기술 API 문서 및 GitHub
MSA 배달 어플리케이션 딜리버드 이츠 프로젝트 기획 발표 자료입니다. 목차현업 이슈 분석주제 선정프로젝트 기획안기대 효과페이지 디자인
문제 발생 전에 백엔드에서 프론트로 쿠키를 저장하는 것은 진행했었다. 그 때 문제가 됐던 점은 프론트가 delibird.store이고, 백엔드가 api.delibird.store였기 때문에 백엔드에서 프론트로 set-cookie 응답을 해도 저장이 되지 않는 문제가 있었다. 그래서 백엔드에서 Cookie 대신 ResponseCookie로 생성하고, domain을 .delibird.store로 지정하여 해결을 했었다. 그런데 이번에는 프론트에서 백엔드로 쿠키가 넘어가지 않았다. 백엔드 설정 private ResponseCookie makeCookie(String name, String token) { Duration duration = Duration.ofMillis(Long.parseLong(en..
저번 과정에서 HTTPS 요청을 처리하도록 인증서를 발급받고 적용하는 과정에서 iptables를 이용하여 포트포워딩을 하면 443 포트를 사용하는 다른 프로그램의 통신에서 문제가 발생했었다. 그래서 이 방법 대신 NGINX를 이용하여 리버스 프록시를 구현해 사용하기로 했다. 이렇게 하면 HTTP 요청을 HTTPS로 리다이렉트 시키는 등의 작업도 간단하게 처리할 수 있다. NGINX 설치 및 설정 나는 API 서버가 있는 GCP VM 인스턴스에서 진행하였다. sudo apt updatesudo apt install nginx 위 명령어로 NGINX를 설치한다.그러면 /etc 폴더 내에 nginx라는 폴더가 생겼을텐데 여기로 들어간다. cd /etc/nginx/sites-available 위 경로로 이동해..
기존의 프로젝트에서는 HTTP만 사용했었는데 보안 문제 때문에 요즘은 거의 HTTPS만 사용하는 추세고 해서 미뤘던 일을 오늘 하기로 했다. 과정은 그리 복잡하지는 않았지만 그동안 시간이 없었기에 이번에 싹 바꾸기로 했다. TLS 인증서 발급 https://certbot.eff.org/ CertbotTaglinecertbot.eff.org 나는 Certbot을 이용해서 인증서를 발급 받았다. 우선 자신의 도메인이라는 것을 확인하는 과정이 필요하기 때문에 인증 과정을 거쳐야 한다. 방법은 여러 가지가 있지만 나는 WAS를 중단해도 되는 상황이었고, 쉽게 진행할 수 있을거 같아서 아래의 방법으로 진행했다. sudo apt updatesudo apt-get install letsencrypt -y sudo..