Solved

HTTP servers, Jetty servers, and API managers

Posted on 2014-10-21
3
185 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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

Webinar: Aligning, Automating, Winning

Join Dan Russo, Senior Manager of Operations Intelligence, for an in-depth discussion on how Dealertrack, leading provider of integrated digital solutions for the automotive industry, transformed their DevOps processes to increase collaboration and move with greater velocity.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Java string replace 11 63
ejb stateless example 2 43
Eclipse with various Java releases 7 50
dao vs facade design patterns 2 35
Java functions are among the best things for programmers to work with as Java sites can be very easy to read and prepare. Java especially simplifies many processes in the coding industry as it helps integrate many forms of technology and different d…
Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
Video by: Michael
Viewers learn about how to reduce the potential repetitiveness of coding in main by developing methods to perform specific tasks for their program. Additionally, objects are introduced for the purpose of learning how to call methods in Java. Define …
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…

733 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