Find Jobs
Hire Freelancers

API Rate Limiter using c++

₹600-1500 INR

Đã đóng
Đã đăng vào hơn 2 năm trước

₹600-1500 INR

Thanh toán khi bàn giao
SCENARIO Your application uses RESTful API’s which are user by your Clients to build Integration to your application. These integration could be for administration of the application or reporting. PROBLEM Off the multiple APIs that are exposed, different APIs would have different resource requirement and while some APIs are light and fast, there are subset that are heavy and increases stress on the Server. Internally it is clear the cost of every API call, however, a client building an integration could be unaware of such cost and could implement an integration which could be taxing on the server and impact the overall performance of the application. An alternative scenario here is also a programming mistake by a client’s developer which might end up calling an API repeatedly in automated way, which could lead to simulate a DOS (Denial of Service) attack and adversely impact the performance of the application. WORK SAMPLE OBJECTIVE This work sample requires the team to build a server side rate limiting solution, which tracks the number of requests that are made by a User over a given period of time and block requests when the number of call exceeds the predefined threshold. The rate limiter solution should cover following cases: ● Different APIs would have different rate limits ● Should be possible to set a default limit. This will be applied when an API specific limit has not be configured ● Solution should consider rate limiting based on the User+API combination. I.e. rate limiting should work based on the combination of User & the API which they are calling. It might happen that to certain users for certain API’s we would like to give threshold higher as compared to other users, so system should be able to handle such scenarios. Below is the table which example that with an example. ● Solution should be agnostic to a web application framework and be a plug and play solution. DELIVERABLES 1. Source code: a. A comilable and working solution with source code b. Source code should be zipped c. Readme file detailing steps to configure an Eclipse or Intellij (or relevant IDE) for the source and steps to compile it d. Any dependency on separate application or a server should be listed. 2. Project Documentation should include a. Explain the approach taken, including (but not limited to) understanding of rate limits, your approach to manage it, information being processed and what it represents. b. Data storage format and reasons for the approach. If alternatives were explored, provide them as well. c. Any assumptions made. d. Suggest any additional parameters that could be additionally taken as input to improve the accuracy of the solution. e. State any improvements that you would like to make if more time was available for implementation.
Mã dự án: 31821728

Về dự án

1 đề xuất
Dự án từ xa
Hoạt động 2 năm trước

Bạn muốn kiếm tiền?

Lợi ích khi chào giá trên Freelancer

Thiết lập ngân sách và thời gian
Nhận thanh toán cho công việc
Phác thảo đề xuất của bạn
Miễn phí đăng ký và cháo giá cho công việc
1 freelancer chào giá trung bình ₹35.000 INR cho công việc này
Avatar người dùng
Hi, I'm experienced C,C++ developer. In C++ I can create a rate limiter(reverse proxy) which can limit API access per user. We can discuss any other functionality can be added. Price is not final and open to negotiation. Thanks
₹35.000 INR trong 7 ngày
1,2 (1 nhận xét)
0,3
0,3

Về khách hàng

Cờ của INDIA
Nainital, India
0,0
0
Thành viên từ thg 10 20, 2018

Xác thực khách hàng

Các công việc khác từ khách hàng này

I want a lot of traditional folk styled designs
₹600-1500 INR
Cảm ơn bạn! Chúng tôi đã gửi email chứa đường link để bạn lấy tín dụng miễn phí.
Đã xảy ra lỗi trong khi gửi email của bạn. Hãy thử lại.
Người Dùng Đã Đăng Ký Tổng Số Việc Đã Đăng
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Đang tải xem trước
Đã cấp quyền truy cập vị trí.
Phiên đăng nhập của bạn đã hết hạn và bạn đã bị đăng xuất. Hãy đăng nhập lại.