Solved

HTTP servers, Jetty servers, and API managers

Posted on 2014-10-21
3
184 Views
Last Modified: 2014-10-22
I have seen documentation that states that some API managers will  successfully enforce rate limiting on HTTP transports, but not Jetty transports, due to a limitation of the jetty transport.  

This does not make sense to me as I thought Jetty was simply a HTTP server written in Java

What is the limitation in the Jetty transport that will not allow API managers to perform rate limiting?
0
Comment
Question by:Anthony Lucia
  • 2
3 Comments
 
LVL 27

Expert Comment

by:dpearson
ID: 40395411
Can you point to the documentation saying this?
0
 

Author Comment

by:Anthony Lucia
ID: 40395593
This site:

http://www.mulesoft.org/documentation/display/current/Applying+Runtime+Policies

states:

Note that all the policy templates below are intended only for HTTP/HTTPS endpoints. If your API uses a Jetty inbound endpoint, all policies below will function as expected except for the rate-limiting and throttling policies. These policies will not work due to a limitation of the Jetty transport. If your API requires rate-limiting or throttling, please ensure that its inbound endpoint uses the HTTP transport protocol.

Open in new window

0
 
LVL 27

Accepted Solution

by:
dpearson earned 500 total points
ID: 40395888
You're right that Jetty is generally just a normal HTTP server.

But it looks like the issue is that mule is using an alternative protocol when you use this "Jetty transport":
http://www.mulesoft.org/documentation-3.2/display/MULE2USER/Jetty+Transport

See how the protocol in the request is set to "jetty://" instead of "http:'//"

So I think it's using their own, custom protocol to send the requests to the jetty server - not using regular http.
And presumably because of that, the rate limiting fails to work.

Seems like a pretty weird design choice - I suppose they must get a substantial performance benefit out of doing this.

Doug
0

Featured Post

Connect further...control easier

With the ATEN CE624, you can now enjoy a high-quality visual experience powered by HDBaseT technology and the convenience of a single Cat6 cable to transmit uncompressed video with zero latency and multi-streaming for dual-view applications where remote access is required.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Introduction HyperText Transfer Protocol (http://www.ietf.org/rfc/rfc2616.txt) or "HTTP" is the underpinning of internet communication.  As a teacher of web development I have heard many questions, mostly from my younger students who have come to t…
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
Viewers learn how to read error messages and identify possible mistakes that could cause hours of frustration. Coding is as much about debugging your code as it is about writing it. Define Error Message: Line Numbers: Type of Error: Break Down…
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question