사실 이번 jangbogo프로젝트는
모놀리식 아키텍처가 아닌
마이크로아키텍처로 하려고 했으나!
그러면 진짜 프로젝트 완성 못할 거 같아서...ㅋㅋㅋ
다른 서버라고 치고 구현해보자!
(나중에 배치만 따로만들자)
일단 springboot + sqs를 하는 방법은
https://www.youtube.com/watch?v=q3zo3YREfJI
이 분거 보는 게 최고다
s3/sns도 이분 꺼 보고 붙였다
이분 장점이 다른 코드에 추가가 아니라 그냥
어떻게 기본적으로 연결하는지 보여준다
디펜던시별로 차이가 약간있는데
영상으로는
implementation group: 'org.springframework.cloud', name: 'spring-cloud-aws-messaging', version: '2.2.6.RELEASE'
implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter-aws', version: '2.2.6.RELEASE'
추가해주고
이렇게 빈에 등록해준다
이거는 aws에서 요구하는 방법이기 때문에 따라 해야 한다
의존성 주입
@Autowired
private QueueMessagingTemplate queueMessagingTemplate;
전송해주는 함수
queueMessagingTemplate.send(end_point,MessageBuilder.withPayload(text+"/"+val).build());
sqs로 전송된 메시지를 받는 방법은 두 가지인데난 sqsListener를 사용하겠다
sqsListener(내가 만든 sqs이름)으로 해주면
알아서 받아온다
마지막
application.properties
#aws
cloud.aws.credentials.access-key=키
cloud.aws.credentials.secret-key=비밀키
cloud.aws.region.static=ap-northeast-2
#이게 꼭있어야한다
cloud.aws.region.auto=false
cloud.aws.stack.auto=false
꼭 설정해줘야 한다
내 sqs
테스트
휴대폰/이메일 둘 다 해보면
sms_sqs/email_sqs 로그가 찍힌다 자동으로 폴링 해와서 내가 구현해 놓은 전송 로직을 탄다!
만약
implementation group: 'com.amazonaws', name: 'aws-java-sdk-sqs', version: '1.12.201'
사용중이라면
@EnableSqs
어노테이션을 붙혀주면된다