개발하는 대로 글을 써서 늘리고 싶지만
그렇다고 스크롤 두번만에 끝나서 아쉬운 글을 쓰고싶지 않아서
진도가 좀 나가면 글을 쓰고 있다.
내가 프로젝트를 하면서 개발 내용을 공유함과 동시에 내가 배우는 것도 있지만
이 글을 읽을 독자들에게 하여금 나같이 부족한 개발자도 맨땅에 삽질하면서 개발 할 수 있다는 것을 보여주며 자신감을 주고싶다.
그래서 이 블로그는 난 이만큼 알아!!라는 자랑보다는
난 이것도 몰라!!라는 한탄글도 많을것이고
모르는것, 이해 못한것, 그리고 찾아보지 않고 일단 해본것 모두 날것 그대로 글에 녹일 예정이다.
근데 나만 그런지 모르겠는데, 글로만 보면 난 잘 이해가 안된다. 어렸을때 부터 수학도 그랬는데
직접 풀어보고 다시 봐야 이해하는것 같다.
그래서 MSA를 이해하기 위해서 이렇게 프로젝트를 시작한다.
내 프로젝트에 들어갈 기술스텍을 완벽히 이해하지 못하더라도 일단 구현해보고
비효율적이거나 내가 원하는 목적에 부합하지 않으면 과감히 버린다.
내 사이드 프로젝트의 목적은 배움에 좀더 가까우니까!
구현할 서비스로는
kafka,
JWT,
Spring Security,
ELK stack,
PostgreSQL + JPA
Spring Cloud
위의 기술 스택 선정의 가장 첫번째 요소는 내가 사용해보지 않았다는 점이다.
나는 백엔드 업무 당시 Vert.x 기반의 여러 Endpoint를 보유하고 있는 API 플랫폼을 운영개발했고,
특정 모듈의 오류가 잦아서, 그외 모듈까지 영향을 줄 수밖에 없는 긴급 작업들을 많이 했다.
중요도가 낮은 모듈의 오류로 인해 높은 중요도의 모듈까지 영향을 주는것을 보고
모듈이 독립적으로 동작, 배포 및 관리된다면 좋을 것 같다 라는 생각이 들었지만,
MSA를 접하고 공부한 것은 퇴사 후였다.
모의 투자 서비스.
이름은....코인 WWE? 가상자산 가상투자? 좀더 생각해봐야겠다.
1안 : 얼마에 사?!
2안 : RE: 제로부터 시작하는 코인매수
3안 : 머리 어깨 무릎 매수
12월 3일 23시에 일어났던 일과 평소에 즐겨하는 게임 FC ONLINE을 통해 영감을 받았는데,
모두들 코인 커래소, 주식 어플 또는 FC ONLINE 이적시장을 이용해봤다면 해본 생각이 있을 것이다.
"아..이가격에 샀으면 지금 얼마 벌었냐.." 또는 "아 이가격에 팔았으면 반절이라도 건지는건데..."
이걸 해볼거다.
기본적인 베이스는 거래소 API(빗썸+ 두나무)를 통해 코인 정보를 조회 및 노출,
그리고 특정 가격대에 매수를 걸거나 매도를 걸고 채결됐을때 실현손익 노출, 그리고 기회비용 노출?
예를 들어 1000원에 산 코인을 지금 2000원에 매도를 걸었다고 치자.
코인은 파죽지세로 올라가며, 2000원에 매도 채결이 되었고 현재 가격은 20,000원이다.
노출되는 정보는 실현손익 1000원(100%), 안팔았다면 수익(19,000원)(2000%)
뭐 이런식으로..
(아직 아이디어 부족해요...더 추가할거에요...)
1부 - 모의 투자
2부 - 실제 투자
3부 - AI 모델 삽입. <- 이건 추천 모델?
https://chobopark.tistory.com/480 요골 활용해서 추천하는 AI 모델 fine-tune 해서 써보자!! 재밌겠다.
(확실히 AI가 들어가면 재밌어 보이네)
회원가입 및 로그인
예약 매수/매도 (가상)
가격 알림 서비스(근데 어디로? 카톡? 팝업?)
등등등..
추가예정..
맞네..나 MSA 한다고 했지
독립적으로 띄워질 서비스 :
Eureka Server
Front:
API Gateway:
Micro Services:
우리는 여기서 Spring Cloud 의 서비스 디스커버리 기능을 제공하는 유레카와 그의 클라이언트 역할을 해줄 API Gateway를 사용할 것이다!
Eureka 서버가 될 프로젝트에 필요한 dependencies 추가하고
micro service가 될 프로젝트 하나, API Gateway가 될 프로젝트 하나씩 해당 서버에 연동하여
위와같은 화면이 완성된다!
Spring Actuator 도 추가해서 status 클릭하면 해당 결과 확인 가능하다.
{
"_links": {
"self": {
"href": "http://localhost:7000/actuator",
"templated": false
},
"health": {
"href": "http://localhost:7000/actuator/health",
"templated": false
},
"health-path": {
"href": "http://localhost:7000/actuator/health/{*path}",
"templated": true
}
}
}
다음은....Postman을 이용한 테스트, 그리고 kafka 까지 설치해서 테스트 해봐야겠다!