본문 바로가기

springboot17

[Redis] Spring Boot - Redis Pub, Sub 구현&응용 목차 Spring Boot - Redis 환경 구성 테스트 개요 서버간 데이터를 동기화 하기 위해, 방법을 찾다가 Redis Pub/Sub 을 사용하는것이 현상황에서 최선이라는 판단을 내리고, 알아보게 되었다. (A - B 각서버간 방화벽 오픈 X, 통신불가 , 하지만 Redis 가 존재하는 C 서버에는 A, B 서버 모두가 바라보고 있음.) Redis를 채택한 또하나의 이유중 하나는, Message를 저장하지 않는 이유때문도 존재한다(Kafka는 메세지내용도 저장함) 메시지 브로커를 구현하는 것이기 때문에, 구현자가 원하는 비지니스 로직을 덧붙힌다면 채팅, 알림, 작업 큐, 동기화 등등 다양한 작업을 할 수 있을것이다. 흐름 Client Message 요청 -> Controller -> Service .. 2024. 3. 29.
[Redis] Redis + Spring boot 연동 (2) 1. Redis + Spring Boot 연결 Spring Boot 에서 Spring-data-redis 라이브러리를 통해 활용해보는 방법을 알아보겠습니다. - Redis Docker 설치 방법은 이전 포스팅을 참고 하세요! https://lucas-owner.tistory.com/56 [Redis] Redis란? - Docker로 간단 Redis(Local) 설치 (1) 1. Redis 란? - in-memory 방식의 No-SQL 기반 DBMS - Key-Value(키-값) 구조의 데이터를 저장, 관리 - Singel-Thread 기반으로 동작함.(명령 수행) - DB, Cache(캐시),Message Broker(메시지브로커) 용도로 주로 사용함. - lucas-owner.tistory.com ○ .. 2023. 3. 30.
[SpringBoot] QR코드 생성 & Test(링크이동) - zxing 1. 서론 몇년전 시작된 COVID19의 여파로 비대면, 비접촉 관련된 시스템들이 많이 생겨났다. (QR인증, QR결제 ...) 심지어 QR코드는 2000년 6월에 표준이 되었을 정도로, 오래된 기술이지만, COVID19 로 인해 사용범위, 활용성이 높아진것 같다. 더불어 옥외광고, 모바일 앱, 웹사이트 내부링크 등등 활용되는곳도 점점 많아지고, 생활에 점점더 밀접해지고 있다. 1-1. 바코드 vs QR 코드? 사실 일반인의 입장에서 보면, "바코드와 QR코드가 다른점이 뭐야? 둘다 똑같은거 아니야?" 라는 말을 하게된다. 왜 일상에서는 QR 코드를 더 많이 사용할까? 바코드 레이저(스캔물체)를 수평방향으로 인식해야 한다. 최대 20자의 정보 저장 가능. 바코드의 "I" 높이 중 일부분이 훼손되어도 인식.. 2023. 3. 24.
[SpringBoot] RestTemplate - 카카오 openAPI 연동하기(Translation, 번역기) 서론 - Spring Boot 기반의 RestTemplate 공부를 하며 local에 서버를 2개 띄워서 테스트 하는것 보다는, openAPI를 적용해보고 싶던 와중 kakao 에서 제공하는 Translate (번역) API 를 찾게 되었고 연동해보았다. - 예전에는 단순히 카카오 개발자 사이트에서, Test용 어플리케이션 등록 + Api Key로 사용이 가능했지만, 2023.03.13일 현재 kakao i cloud라는 시스템을 사용하는것으로 조금 바뀌어 있다. (호출 방식, key 같은것들이 다름.) 혹시나 하는 마음에 이전버전의 API 호출 방식을 적용해봤는데 정상적으로 동작이 되었다. 목적은 어디까지나 RestTemplate를 사용한 API호출 이었기 때문에, 예전방식으로 진행했다. * 시작전 유.. 2023. 3. 13.
[Docker] GitHub Actions - Docker Image 자동 배포, run(CD) (2) GitHub Actions - Docker Image 자동 배포 (CD) - info 이전 포스팅에서 GitHub Actions 를 사용하여 CI 파이프라인을 구축했었다. GitHub master 브랜치에 push 되었을 경우, jar빌드, docker image빌드, docker hub 푸시(퍼블리시) CI를 구축해놓았으니 CD를 구축해야한다. 한마디로 docker hub에 푸시된 image를 EC2에서 새롭게 pull 받아 실행하는것이다. github master 브랜치에 push하는 순간 test 부터, EC2에 배포 및 실행까지 자동으로 이루어지는것이다. 또한 이전에 포스팅 되었던 글에서 추가 된 내용이 많다. (제대로 공부하지 못하고 적용하려니, 엄청난 삽질의 연속..) * 주의할점 및 유의사.. 2023. 2. 19.
[Docker] GitHub Actions - Docker Image 자동 빌드, push(CI) (1) GitHub Actions 를 사용한 Docker Image 자동 빌드, push - Info Docker를 사용하여 EC2에 Spring Boot를 배포하는 방법들을 포스팅해왔다, 실제로 해봤다면 알겠지만 해당 작업은 상당히 복잡한 프로세스를 갖고있고, 자동화 또한 되어있지 않다. 중간에 실수가 있거나, 순서중 하나만 헷갈리더라도 굉장한 장애를 발생시킬 수 있다. 이러한 배포 자동화를 CI/CD(Continuous Integration, Continuous Deployment) 라고 한다. CI (Continuous Integration) 지속적 통합 : 여러 개발자들이 협업을 하고 있는 경우 발생하는 '불일치'를 최소화 해주는 개념. 예를들어 master 브랜치에 PR 요청이 왔을때, 빌드, 테스트를.. 2023. 2. 18.