반응형
Eureka사용법
server:
port: 0
spring:
application:
name: user-service
eureka:
instance:
instanceId: ${spring.cloud.client.hostname}:${spring.application.instance_id:${random.value}}
client:
registerWithEureka: true
fetchRegistry: true
serviceUrl:
defaultZone: http://127.0.0.1:8761/eureka
port를 0으로하고,
지정된 유레카의 url을 등록을 해놓으면 실제 유레카 사이트에서 어떤 서비스들이 켜져있는지 모니터링이 가능하게 된다.
설정의 의미는 port는 0으로 해놓으면 자동으로 포트를 설정하게 되고,
eureka서버에 등록을 하고 싶으면 client설정에
registerWithEureka설정과 fetchRegistry설정을 true로 설정해야한다.
그리고 여러개의 instance를 확인하고 싶을 경우에는 instanceId를 radom.value를 활용하여 생성해주면된다.
이제 spring api gateway에 대해서 볼것이다.
cloud:
gateway:
routes:
- id: first-service
uri: http://localhost:8082
predicates:
- Path=/first-service/**
filters:
- AddRequestHeader=first-request, first-request-header2
- AddResponseHeader=first-response, first-response-header2
- id: second-service
uri: http://localhost:8081
predicates:
- Path=/second-service/**
filters:
- AddRequestHeader=second-request, second-request-header2
- AddResponseHeader=second-response, second-response-header2
이와 같이 .yaml파일을 통해서 어떤 url이 들어오면 어떤 포트로 이동시킬건지 나타내던가.
package com.example.springgateway.config;
import org.springframework.cloud.gateway.route.RouteLocator;
import org.springframework.cloud.gateway.route.builder.RouteLocatorBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
//@Configuration
public class FilterConfig {
// @Bean
public RouteLocator gatewayRoutes(RouteLocatorBuilder builder){
return builder.routes()
.route(r->r.path("/first-service/**")
.filters(f -> f.addRequestHeader("first-request","first-request-header")
.addResponseHeader("first-response","first-response-header"))
.uri("http://localhost:8082"))
.route(r->r.path("/second-service/**")
.filters(f -> f.addRequestHeader("second-request","second-request-header")
.addResponseHeader("second-response","second-response-header"))
.uri("http://localhost:8081"))
.build();
}
}
실제 java config파일로 만들어서 filter를 통해서 router를 설정해 줄 수 있다.
반응형
'Clude' 카테고리의 다른 글
태태 개발일지(Spring cloude) (0) | 2023.08.21 |
---|