본문 바로가기
Delvelopment/Self-MSA구축기

API Gateway - Zuul 셋팅하기 IntelliJ, Gradle 사용.

by 제제킴 2020. 1. 4.
반응형

 

Zull 셋팅을 시작하자.

 

start.spring.io 프로젝트를 생성한다.

 

추가한 Dependencies

  • Eureka Discovery Client
  • Spring Boot Actuator
  • Zull

 

 

Zull 은 단 2가지만 셋팅하면 결과물을 볼 수 있다.

 

1. ZullOneApplication.java 에 어노테이션 추가.

  • java/com/sample/ZuulOne/ZuulOneApplication.java

    • @EnableZuulProxy
      @EnableEurekaClient

 

//

@EnableZuulProxy
@EnableEurekaClient
@SpringBootApplication
public class ZuulOneApplication {

	public static void main(String[] args) {
		SpringApplication.run(ZuulOneApplication.class, args);
	}

}


//

 

 

2. application.properties 에 셋팅 추가.

  • resources/application.properties

##


server.port=${PORT:9999}
spring.application.name=ZUUL

endpoints.restart.enabled=true
management.endpoint.shutdown.enabled=true

zuul.ignored-services='*'
zuul.ignored-patterns=/**/api/**

management.endpoints.web.exposure.include=*

eureka.client.serviceUrl.defaultZone=http://localhost:8787/eureka/

############################################################
################### Route Configuration ####################
# Increase the Hystrix timeout to 6.5s (globally)
# Ribbon global settings
ribbon.retryable=true
# Max number of retries on the same server (excluding the first try)
ribbon.MaxAutoRetries=0
# Max number of next servers to retry (excluding the first server)
ribbon.MaxAutoRetriesNextServer=1
# Whether all operations can be retried for this client
ribbon.OkToRetryOnAllOperations=true
# Connect timeout used by Apache HttpClient
ribbon.ConnectTimeout=30000
# Read timeout used by Apache HttpClient
ribbon.ReadTimeout=30000


##

 

이렇게 셋팅을 한 후 Run!! 
( Zuul 프로젝트 실행전 Eureka server를 켜놔야 한다.)

 

 

ZUUL 인스턴스가 추가된 것을 확인 할 수 있다.

 

http://192.168.0.2:9999/actuator/routes

위 zuul url 로 들어가게 되면  유레카 클라이언트는 서버로부터 레지스트리 정보를 읽어와 로컬에 캐시한다. 이후 클라이언트는 로컬에 캐시된 레지스트리 정보를 이용해서 필요한 다른 서비스를 찾을 수 있게된다.

 

Zuul 에서 확인한 인스턴스 이름을 zuul 을 통해 접근해보자. (eureka client가 실행되어 있어야함)

http://192.168.0.2:9999/onetest/test

 

이렇게 Eureka + Zuul 셋팅을 마치게 되었다.

반응형

댓글