Solved

HTTP servers, Jetty servers, and API managers

Posted on 2014-10-21
3
178 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 26

Expert Comment

by:dpearson
Comment Utility
Can you point to the documentation saying this?
0
 

Author Comment

by:Anthony Lucia
Comment Utility
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 26

Accepted Solution

by:
dpearson earned 500 total points
Comment Utility
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

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Introduction This article explores the design of a cache system that can improve the performance of a web site or web application.  The assumption is that the web site has many more “read” operations than “write” operations (this is commonly the ca…
When it comes to showing a 404 error page to your visitors, you do not want that generic page to show, and you especially do not want your hosting provider’s ad error page to show either. In this article, I will show you how to enable the custom 40…
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.

762 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

Need Help in Real-Time?

Connect with top rated Experts

6 Experts available now in Live!

Get 1:1 Help Now