서비스 디스커버리 Eureka 서버 이해하기 및 실습
·
Spring
서비스 디스커버리 서비스 디스커버리 : 마이크로서비스 아키텍처에서 각 서비스의 위치를 동적으로 관리하고 찾아주는 기능.각 서비스는 등록 서버에 자신의 위치를 등록하고, 다른 서비스는 이를 조회하여 통신.주요 기능으로는 서비스 등록, 서비스 조회, 헬스 체크 등이 있음.  Eureka Eureka : 넷플릭스가 개발한 서비스 디스커버리 서버로, 마이크로 서비스 아키텍처에서 각 서비스의 위치를 동적으로 관리.모든 서비스 인스턴스의 위치를 저장하는 중앙 저장소 역할을 하며, 서비스 인스턴스의 상태를 주기적으로 확인하여 가용성 보장. Eureka 서버 설정 Eureka 서버는 서비스 레지스트리를 구성하는 중앙 서버서버 설정 파일 예시 >server: port: 8761eureka: client: reg..
MSA와 Spring Cloud 이해하기
·
Spring
MSA Microservices Architecture (MSA) : MSA는 하나의 애플리케이션을 여러 개의 독립적인 서비스로 분리하여 개발, 배포, 유지보수를 용이하게 하는 소프트웨어 아키텍처 스타일. 각 서비스는 특정 비즈니스 기능을 수행하며, 서로 독립적으로 배포되고 확장 될 수 있음. 서비스 간의 통신은 주로 HTTP/HTTPS, 메시지 큐 등을 통해 이루어짐.  Spring Cloud Spring Cloud : 마이크로서비스 개발을 위해 다양한 도구와 서비스를 제공하는 스프링 프레임워크의 확장.주요 기능서비스 등록 및 디스커버리 : Eureka, Consul, Zookeeper로드 밸런싱 : Ribbon, Spring Cloud LoadBalancer서킷 브레이커 : Hystrix, Resil..
Spring의 RestTemplate 이해하기
·
Spring
RestTemplate 예시로 회원 가입 시 사용자의 주소를 받아와야 할 때 이 부분을 직접 구현하지 않고 이미 만들어져 있는 API를 사용하면 해당 기능을 간편하게 구현 할 수 있다. 이렇게 서버에서 다른 서버로 간편하게 요청할 수 있도록 Spring에서는 RestTemplate 기능을 제공한다.  💭 Client의 서버 포트 번호는 8080, Server의 서버 포트 번호를 7070으로 가정해 놓았을 때RestTemplate Get 요청 알아보기 Client 입장private final RestTemplate restTemplate;// RestTemplateBuilder의 build()를 사용하여 RestTemplate을 생성합니다.public RestTemplateService(RestTempl..
Spring 데이터 검증 (Validation)하기
·
Spring
Validation Validation (검증)은 프로그래밍을 하는데에 있어서 가장 중요한 부분 중 하나. 특히나 Java는 null 값에 대한 접근에 대해 NullPointerException 오류가 발생하기 떄문에 이러한 부분을 예방하기 위해 검증 과정이 필요하다. Spring에서는 null 확인 뿐만 아니라 문자의 길이 측정과 같은 다른 검증 과정도 쉽게 처리할 수 있도록 Bean Validation 제공하고 있다. Bean Validation@NotNull : null 불가@NotEmpty : null, "" 불가@NotBlank : null, "", " " 불가@Size : 문자 길이 측정@Max : 최대값@Min : 최소값@Positive : 양수@Negative : 음수@Email : Ema..
Spring Security 접근 불가 페이지 만들기
·
Spring
Spring Security에 "권한(Authority)" 설정 방법  회원 상세정보(UserDetailsImpl) 를 통해 권한 설정 가능. 권한을 1개 이상 설정 가능."권한 이름" 규칙 : "ROLE_"로 시작해야 함.예) "ADMIN" 권한 부여 → "ROLE_ADMIN" "USER" 권한 부여 → "ROLE_USER" public enum UserRoleEnum { USER(Authority.USER), // 사용자 권한 ADMIN(Authority.ADMIN); // 관리자 권한 private final String authority; UserRoleEnum(String authority) { this.authority = authority; } ..
Spring Security 프레임워크 이해하기
·
Spring
Spring Security "Spring Security" 프레임워크는 Spring 서버에 필요한 인증 및 인가를 위해 많은 기능을 제공해 줌으로써 개발의 수고를 덜어 준다. WebSecurityConfig@Configuration@EnableWebSecurity // Spring Security 지원을 가능하게 함public class WebSecurityConfig { @Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { // CSRF 설정 http.csrf((csrf) -> csrf.disable()); http.authorizeHttpReq..