본문 바로가기

Spring Cloud4

스프링으로 배우는 MSA (4) - Spring Cloud Netflix Gateway Server 이전 포스팅에서 우리는 서비스를 만들고 테스트를 해봤다. 이전장은 모놀로식이랑 똑같이 구현하면 되기 때문에 큰 어려움이 없었을 것이다. 아마 시큐리티 설정이 제일 시간이 걸렸을 것이다. 이번에는 게이트 웨이서버를 만들 건데, 게이트 웨이가 뭔지 먼저 작성하려고 한다. 먼저 Gateway는 컴퓨터에서 다른 네트워크망에 접속을 가능하게 해주는 것을 가르키는 용어이다. 맞다 위의 설명 처럼 다른 네트워크 망에 접속하게 끔 도와주는 것이다. 우리가 서비스 별로 DB도 다르고 서버도 다르기 때문에 다른 네트워크 망이라 생각해도된다. 클라이언트가 매번 요청마다 포트를 바꿔서 요청하는것은 매우 번거로운 일이기도 하고, 한곳에서 어느 서비스로 보내줄 지 결정해주는게 더욱이 편하다. 위와 같은 구성이다. 이 이미지는 인.. 2023. 6. 28.
스프링으로 배우는 MSA (2) - Spring Cloud Netflix Config Server MSA프로젝트를 시작 하기 앞서 Config서버를 만드려고한다. config서버는 우리가 스프링 프로젝트에서 application.properties/yml 파일을 따로 모아서 관리하려고 한다. 해당 파일을 왜 따로 관리하냐면, 프로젝트가 여러개다보니까 설정 파일이 바뀔일이 많이 생기기 때문이다. 그럴 때마다 해당 프로젝트를 가서 서버를 다시 켜줘야하는데, 이런 설정 파일을 한 곳에서 관리하고 그 설정 파일을 바라보게 해주면 손쉽게 관리 할 수 있기 때문이다. 더 나아가 Actuator를 이용해서 설정 파일이 바뀌더라도 서버를 직접 껏다 키는 것이 아니라 url요청으로 서버를 다시 켜서 설정 파일의 내용을 반영 시킬 수 있기 때문에 사용한다. 먼저 config서버를 만들어야한다. 프로젝트를 새로 만든 후.. 2023. 6. 24.
스프링으로 배우는 MSA (1) - Spring Cloud Netflix Eureka MSA를 만들 때 사용할 언어는 자바를 사용할 것이다. 프레임워크는 스프링부트를 이용하며, 무에서 유를 만드는 것이 아닌 OSS를 이용하여, 만들 예정이다. 이름에서 익숙한 단어가 있다. 바로 넷플릭스인데, 우리가 흔히 사용하는 OTT인 넷플릭스가 맞다. 이 오픈소스는 넷플릭스에서 개발하였으며, 모든 코드가 공개되어있다. (깃허브에 검색) 그 중 오늘은 유레카에 대해 설명하고 실습하려고한다. 먼저 시작하기 전에 재밌는 사실을 알게 되었다. GPT한테 왜 이름이 유레카냐고 물어봤더니 이런 대답이 왔다. 결론은 애플리케이션을 등록하면 다른 서비스들이 해당 서비스를 "발견"하므로 이름을 이렇게 지은 것으로 추정한다고 하는데, 얼추 맞는것 같다. ㅋㅋㅋㅋ 그럼 이름에서 부터 벌써 이 유레카가 무엇을 하는지 짐작.. 2023. 6. 23.
MSA (MicroServiceArchitecture) 개념 정리 M - Micro S - Service A - Architecture 오늘은 MSA에 대해 개념을 적으려고 합니다. 일단 MSA를 알기 이전에 모놀리식부터 설명하려고 합니다. 모놀리식 아키텍처는 소프트웨어의 모든 구성 요소가 한 프로젝트에 통합되어있는 서비스입니다. 소규모에 적합한 아키텍처입니다. 하지만 어느정도 규모가 커지면 이는 유지보수하는데 어려움이 생기며, 다음과 같은 문제점이 발생합니다. 부분 장애가 전체 서비스의 장애로 확대될 수 있음 전체 시스템 구조 파악이 어려움 서비스 변경이 어렵고, 수정 시 영향도 파악이 힘듦 빌드 시간 및 테스트, 배포 시간 증가 이런 점을 보완 하고자 MSA가 등장 했습니다. MSA는 느슨하게 결합된 서비스들의 모임입니다. 서비스 지향 아키텍처의 일종입니다. 좌측에.. 2023. 6. 22.