본문 바로가기

bootcamp/Spring

(7)
0112 MSA 서킷 브레이커 resilience4j api 호출하는 곳에 서킷 브레이커를 달아줌 서킷브레이커팩토리에서 의존성 주입을 받는다 서킷브레이커로 원래 실행하려던 메소드를 감싸줌 서킷브레이커가 ???가 잘 동작하는지 검사> 작동 안하면 차단기 내림 예외가 생기면 오류난 부분만 null로 처리하여 출력함 > 사용자가 보는 페이지에서는 오류가 난 부분만 제외하고 볼 수 있다 응답시간에 따른 차단을 설정할 수 있다
0111MSA 2 서비스에서 서비스끼리 통신 동기방식: http 프로토콜 회원서비스에서 이메일 인증 서비스한테 토큰이 맞는지 확인 맞으면 회원의 상태 변경 비동기방식: 카프카 회원서비스에서 회원가입 처리 회원서비스에서 카프카로 메일을 전송하려는 토픽을(event/member/signup) 메시지 발행(유튜브 구독 알 림과 같음) 이메일 인증 서비스에서 카프카로부터 메시지를 수신(comsumer) 해당 메시지에 해당하는 내용대로 이메일 전송, 토큰 DB에 저장 DB에 저장된 토큰(이메일인증마이크로서비스)을 확인하고 같으면 회원의 상태 정보(회원서비스)를 변경 ==> 값을 변경시키는 쪽이 주가 되도록 해서 동기방식으로 토큰 확인을 함 로그인 회원 서비스에서 인증 후 인가(토큰 발급) SCG를 통해서 토큰 검증 ========..
0110 마이크로 서비스 아키텍쳐(MSA) 1교시 모놀리식 회원기능이 뻗으면 다같이 뻗는다 왜? 서버가 하나라서 -msa식 특징, 장점: 장애가 발생하더라도 특정한 곳의 장애로만 발생한다 장애전파가 이뤄지지 않음 트래픽이 몰렸을 때 하나의 서비스만 받을 수 있도록 부하분산 서로 다른 프로젝트가 데이터만 잘 주고 받을 수 있으면 어떤 프로그래밍 언어라도 다 주고 받을 수 있음 프로젝트가 여러개로 쪼개져서 생산성이 좋아짐 요구사항에 대한 개발이 쉬워짐 단점: 프로젝트가 여러개 쓰기 때문에 서버가 많이 필요하고 배포를 여러번 해야 됨 배포할 때나 시스템을 통합시킬 때 문제점이 발생할 수도 있음 과거에는 서버가 많이 필요하고 배포를 많이 해야된다는 단점을 해결할 수 없어서 많이 사용하지 않음 그러나 지금은 클라우드를 이용하고 cicd(배포 자동화) 로 ..
0109 자바 배포 자바 - 메이븐 - 라이프사이클 - 패키지 클릭하면 타겟 밑에 jar파일이 준비 됨 새로운 리눅스 서버 한대 준비 window to linux jar파일 옮기기 yum install wget 인터넷 환경 생성 yum install -y java-11-openjdk-devel.x86_64 자바 설치 및 사용환경 생성 java -jar demo-0.0.1-SNAPSHOT.jar 자르 파일 실행 그러면 스프링이 실행됨 > 수동으로 스프링 서버의 작동을 확인한다 리눅스 서버를 한개 더 만든다. 현재 리눅스 서버 총 2개 만듦 서버2에 nginx 설치 yum install -y nginx systemctl restart nginx systemctl stop firewalld vi /etc/nginx/nginx.c..
0103 이메일 인증
0102 iamport를 이용한 결제 시스템
1227 예외처리 예외처리를 어떻게 효율성 있게 처리할 수 있을까 https://velog.io/@younseo1016/Controller-Service-Repository%EC%97%90-%EB%8C%80%ED%95%9C-%EC%9D%B4%ED%95%B4 Controller, Service, Repository에 대한 이해 어노테이션부터 이야기를 하면 전부 component에서 파생되었고 각각 역할을 명시할 수 있도록 이름을 다르게 사용한것이다.(spring의 bean이다)Controller는 클라이언트의 주문(Request)을 받고 음식(Respons velog.io DB에서 예외가 발생해서 처리를 하자 무결성 제약조건 스프링 3가지 특징 IoC 컨테이너 의존성 주입 DI 관점지향프로그래밍 AOP(자료실 자료 참고할 ..