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(자료실 자료 참고할 .. 이전 1 다음