Şu satırı dahil ederiz
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
Açıklaması şöyle
This annotation is used to make a spring boot application act as a Zuul server.
Bu anotasyon ile Zuul kendisine gelen "http://localhost:9002/service-sample/ping" şeklindeki bir isteği Eureka'ya "service-sample" ismi ile kaydolmuş düğümlerden birisine yönlendirir ve onun "/ping" rest endpoint'ini çağırır.
Örnek
Şöyle yaparız
@EnableZuulProxy@EnableEurekaClient@SpringBootApplicationpublic class CloudZuulApplication {public static void main(String[] args) {SpringApplication.run(CloudZuulApplication.class, args);}}
application.properties dosyasını şöyle yaparız
# Specify application name, and port on which this app should runspring.application.name=cloud-zuulserver.port=9002# Set Eureka server url hereeureka.client.serviceUrl.defaultZone=http://localhost:9001/eureka
Örnek
Şöyle yaparız
application.properties dosyasını şöyle yaparız@EnableZuulProxy@EnableDiscoveryClient@SpringBootApplicationpublic class SuperdevZuulApplication {public static void main(String[] args) {SpringApplication.run(SuperdevZuulApplication.class, args);}@Beanpublic SimpleFilter simpleFilter() {return new SimpleFilter();}}
server.port=8081eureka.client.serviceUrl.defaultZone=${EUREKA_SERVER:http://localhost:8761/eureka}spring.application.name=superdev-zuulzuul.routes.customer.url=http://localhost:8080ribbon.eureka.enabled=false
Açıklaması şöyle. Burada aslında zuul.routes kullanmaya normalde gerek yok, çünkü amaç zaten Eureka Discovery ile Rest servisini bulmak. Ancak ben yine de örnek olsun diye aldım
zuul.routes — we are mapping ZUUL to our customer service, any request that starts with a http://localhost:8081/customer will redirect to the customer’s serviceribbon.eureka.enabled — at this point we disabled the load balancing
customer Rest microservice'i tetiklemek için şöyle yaparız.
http://localhost:8081/customer/v1/api/customer
Bu da aslında şuraya redirect edilir.
http://localhost:8080/customer/v1/api/customer
Örnek
Şöyle yaparız. Burada ribbon ile client side load balancing halen kullanılıyor.
server:port: 8000zuul:ignoredServices: ‘*’prefix: /apiroutes:route1:path: /route1/**serviceId: <service-id-given-in-bootstrap>strip-prefix: falseroute2:path: /route2/**serviceId: <service-id-given-in-bootstrap>strip-prefix: falseroute3:path: /route3/**serviceId: <service-id-given-in-bootstrap>strip-prefix: falseendpoints:trace:sensitive: falseeureka:client:service-url:default-zone: http://localhost:8761/eureka/
Hiç yorum yok:
Yorum Gönder