1. Spring Cloud Config란?- 분산 시스템에서 서버 클라이언트 구성에 필요한 설정 정보(application.yml)을 외부 시스템에서 관리- 하나의 중앙화된 저장소에서 구성요소 관리 가능- 각 서비스를 다시 빌드하지 않고, 바로 적용 가능- 애플리케이션 배포 파이프라인을 통해 DEV-UAT-PROD 환경에 맞는 구성 정보 사용 2. application.yml 우선순위application.yml -> application-name.yml -> application-name-.yml 3. ecommerce.yml 파일 생성디렉토리 생성 후 ecommerce.yml 파일 생성$ git add ecommerce.yml$ git commit -m "upload ecommerce yml file..
Java/Spring Boot
1. AuthenticationFilter란?- Spring Security를 이용한 로그인 요청 발생 시 작업을 처리해 주는 Custom Filter 클래스 2. User-Service -> AuthenticationFilter.java@Slf4jpublic class AuthenticationFilter extends UsernamePasswordAuthenticationFilter { // final AuthenticationManager authenticationManager; private final UserService userService; private final Environment env; public AuthenticationFilter(Authenticat..
1. CustomFilter[gateWay-service] CustomFilter.java@Component@Slf4jpublic class CustomFilter extends AbstractGatewayFilterFactory { public CustomFilter() { super(Config.class); } @Override public GatewayFilter apply(Config config) { // Custom Pre Filter return (exchange, chain) -> { ServerHttpRequest request = exchange.getRequest(); ServerHtt..
1. Gateway란?서버 최앞단에 위치하여 모든 API 호출을 받는다. 받은 API 호출을 인증한 후, 적절한 서비스들에 메세지를 전달될 수 있도록 한다기능 : 인증 및 권한부여, 서비스 검색 통합, 응답 캐싱, 속도 제한, 부하 분산, 로깅, 추적, 상관관계, IP 허용 목록에 추가 등 2. 프로젝트 생성gateway-service [Lombok, Eureka Discovery Client, Gateway]first-service [Lombok, Spring Web, Eureka Discovery Client]second-service [Lombok, Spring Web, Eureka Discovery Client]3. 예제1. application.yml// First-Serviceserver: ..
Service Discovery가 뭐냐 !- MSA로 구성된 서비스는 각자 다른 IP와 Port를 가지고 있다.이러한 서로 다른 서비스들의 IP와 Port에 대해 저장하고 관리할 필요가 있는데 이것이 ServiceDiscovery이다. 1. Spring Boot Assistantapplication.yml 파일에서 자동완성을 해줄 수 있는 플러그인이다. 2. 인텔리제이 프로젝트 모듈화 3. 유레카로 실행1. discoveryservice 프로젝트디펜던시 : Eureka Server// DiscoveryserviceApplication.java@SpringBootApplication@EnableEurekaServer //추가 //application.ymlserver: port: 8761spring:..
1. 환경 1. Sping Boot 2. Spring Data JPA 3. Gradle 4. postgreSQL 5. PostMan 6. Swagger 7. 인텔리제이 무료버전 2. DB 구조 3. CRUD 구현 (1). Entity 생성 @Entity @Getter @Setter @ToString @Table(name = "room_cd") public class EclassRoomEntity { @Id @Column(name = "room_cd_id", length = 36) private String roomCdId; @Column(nullable = false, length = 100) private String roomNm; // 강의실명 @Column(nullable = false) priva..