Comments (6)
@hackerwins Since we are using Istio in K8s, we can use Istio(envoy)'s Rate Limit.
For implementation details, we use istio-ingressgateway as a rate limiter middleware by applying the rate limit configuration envoyfilter, and rate limiting service as a rate limit counter.
from yorkie.
Sorry about that. It wasn't a DDos attack and I think it was my fault. 🥲
I created a new yorkie example around 3:00 on the 27th and ran it locally with yorkie-js-sdk v.0.4.5.
As soon as I ran the project with the new version, it kept sending requests to the server. I freaked out, stopped and ran it again, and the same thing happened, so I captured it.
![스크린샷 2023-07-27 오후 3 42 22](https://user-images.githubusercontent.com/57996351/256972795-a2081b45-a45e-45fb-ad85-e33cad55f1e8.png)
from yorkie.
It may be possible to respond at the infrastructure layer to defend against DDOS, but I think it is necessary to respond at the application level before that. How about introducing RateLimit?
from yorkie.
I think we can introduce rate limits in a couple of places:
A. K8s Ingress
We can utilize rate limit annotations for a straightforward implementation. However, it's important to note that this approach offers global-wide options, which might limit flexibility.
B. API Server
To have more granular control, we can implement rate limit logic using a gRPC interceptor. This approach allows us to define detailed rate limit rules. Additionally, we could provide project-specific options in the dashboard, empowering developers to manage rate limits for their projects effectively.
@krapie Do you have any opinion for A?
from yorkie.
Related Issues (20)
- Introduce Pagination for Housekeeping HOT 3
- Add include-snapshot flag to ListDocuments API
- Replace Text.select with Presence HOT 8
- Move Client.Watch inside Client.Attach and hide it from external interface HOT 2
- Atomicity not guaranteed when using BulkWrite HOT 1
- Suggest to add `PushPull` benchmark test
- Handle Presence Cleanup in Housekeeping Process
- Prevent exposing innerpresence to users
- Extract Room(or Channel) from Document
- Enhancements for Element Selection and Multi-level Node Traversal in Tree.Edit
- Change 'Documents' from plural to singular in DocEvent HOT 4
- GitHub Actions: All Actions will run on Node16 instead of Node12 by default
- GitHub Actions: Replace matrix strategy with environment variable
- Add Tree.Edit benchmark HOT 2
- Another approach to mitigate split-brain of a long-lived connection HOT 2
- Add a feature to Tree that allows the removal of attributes from elements HOT 1
- Introduce broadcast API for event sharing HOT 5
- Add toJS to return TreeNode of Tree HOT 1
- Add Tree.move
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from yorkie.