3

In my current project we deploy our applications in an application server and provide load balancing via an Apache httpd server deployed in the DMZ. I'm in the early stage of considering the move to Spring Cloud and while studying it, I came across Zuul as an API Gateway providing reverse proxing, routing and load balancing. Here are my questions:

1) Is Zuul a replacement for an httpd server for the functions described above? (there are probably other functions that the httpd server might supply that Zuul can't, but I'd like to keep the answers limited to reverse proxy, routing and load balancing if possible)

2) Is it redundant to have Zuul front-ended by an httpd server? Or are there benefits of doing this?

Thank you in advance for your answers.

  • 1
    My first thought is that if you already use apache httpd, continue to use that. Zuul has a very narrow focus/integrations where apache is much more general. I don't think it makes sense to front zuul with apache. – spencergibb Jan 14 '16 at 20:11
  • Thanks Spencer. Now as I understand it, Spring Cloud uses Zuul together with Eureka and Ribbon to provide routing/load-balancing w/o knowing in advance port numbers of all service instances; I don't believe I can do the same with Apache. Would this be a case where I might consider replacing Apache with Zuul or front-ending it? – David Cardozo Jan 15 '16 at 17:01
  • Yes, that is one case. – spencergibb Jan 15 '16 at 17:04
  • Hi @DavidCardozo , Did you find an answer for this ? – Vipin CP Jan 13 '20 at 12:51
  • @vipincp, the answers above provided by Spencer were sufficient. That said, I never ended up adding Zuul (or Spring Cloud) to the project due to changing priorities. – David Cardozo Jan 14 '20 at 19:50
  • @DavidCardozo One more doubt I have. Our application is not yet in PROD and we used ZUUl as our API gateway. Inorder to map the DNS anyways we need a webserver right? Since only apache can run in port 80 not ZUUL. So my question is for reverse proxy settings we need the apache right? – Vipin CP Jan 16 '20 at 08:33
  • I didn't get that far in my research, so I don't have a definite answer. [This stackoverflow answer](https://stackoverflow.com/a/33704078/5791254) gives two solutions to simulate Zuul (or any other Spring Boot app) listening on port 80: 1. Use an Apache proxy as you suggested 2. Port forwarding – David Cardozo Jan 17 '20 at 14:28

0 Answers0