
Service Discovery란MSA환경에서 동적으로 변경되는 서비스들의 위치(IP, 포트)를 자동으로 찾고 연결하는 기술을 의미기존 모놀리식 아키텍처에서는 모든 기능이 하나의 애플리케이션에 포함되어 있기때문에 내부에서 직접 호출함으로써 Service Discovery와 같은 역할이 필요하지 않았음MSA는 서비스가 여러개로 분리되어있기때문에 서비스 간의 네트워크 통신이 필요하게 됨만약 Service Discovery가 없는 MSA라면 서비스가 변경될 때마다 수동으로 IP를 변경해야하고 이는 운영이 매우 복잡해지며 장애 발생 가능성이 증가하게 된다.Discovery Service 없이 MSA를 사용할 경우예를 들어서 기존 MSA서비스에서 UserService와 ProductService만 운영해왔었는데 ..

평소에 Spring Framework, JPA등 완성도 있는 프레임워크들을 사용하다보니 프레임워크에 정확한 동작원리를 깊이 있게 알지 못 한다는 느낌을 받았고최근 다양한 프레임워크 위주로 취업준비를 하는 개발자들에 대한 일침아닌 일침을 날리는 유튜브 쇼츠 영상을 보았었다.댓글을 확인해보니 새로운 기술, 다양한 프레임워크를 통해 편리한 개발을 지향하는 것은 좋지만 정확한 원리를 알지 못하고 주먹구구 식으로 프레임워크를 사용하는 신입개발자들이 많다는 댓글을 보았다.아무래도 프레임워크라는게 반복적으로 사용되는 코드들을 미리 구현하여 편리하게 사용하도록 인터페이스화 한 것이기때문에 내부코드를 들여다 볼 기회가 거의 없기때문에 사용이유에 대해서 정확한 정의를 내리는 것이 쉽지 않았다.물론 댓글 내용중 프레임워크 ..
![[Git] gitignore와 관리해야할 파일](https://blog.kakaocdn.net/dn/blk42g/btsKBINe1YM/b5LwphnVRZWp4ty8NBie00/img.png)
.gitignore 파일은 Git의 root 디렉토리에 저장되어 Git Repository에 추가되지 않아야하는 폴더나 파일들을 정의하는 파일이다.예를 들어서 스프링 애플리케이션에서 secret-key와 같은 값을 가지고 있는 application.properties파일을 Git을 사용하여 관리하고 Remote Repository에 올릴 경우 내부에서 관리해야하는 secret-key를 외부에 공개함으로써 보안 문제가 발생할 수 있는 것이다따라서 Git을 통해 프로젝트를 관리할 때 가장 먼저 gitignore파일을 정의하여 어떤 파일들을 Git을 통해 트랙킹 하지 않도록 할 것인지 정의하는게 우선이다 무시할 파일 등록하기그렇다면 어떻게 파일을 등록하고 무시할 파일의 범위를 지정하는 방법에 대해 알아보자개발..
![[Java] 람다 표현식과 함수 인터페이스](https://blog.kakaocdn.net/dn/bq718o/btsKzqAQ19h/ohEkgGooyinYETmIGK6qL0/img.webp)
![[JAVA] 예외 계층](https://blog.kakaocdn.net/dn/c3DqoE/btsIrdDE7TN/Y5KKQkBbRxlfEEOkaqjmA0/img.png)
![[JAVA] 자바의 정렬 인터페이스 Comparable과 Comparator](https://blog.kakaocdn.net/dn/82ETj/btsIokhcnV1/H03XNj5qswYrQkiumORvPk/img.png)
![[JAVA - 자료구조] HashSet](https://blog.kakaocdn.net/dn/rkvNE/btsIf0EsoLo/v4xUagpbWrqVqrfFjDGKT0/img.png)