Skip to content

Add README#2

Merged
junr03 merged 3 commits intomasterfrom
docs
Feb 2, 2017
Merged

Add README#2
junr03 merged 3 commits intomasterfrom
docs

Conversation

@junr03
Copy link
Copy Markdown
Member

@junr03 junr03 commented Jan 30, 2017

@lyft/network-team

README.md Outdated

# Overview

The rate limit service is a Go/GRPC service designed to enable generic rate limit scenarios from different types of
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: gRPC

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

README.md Outdated

## Loading Configuration

The ratelimit service uses a library written by Lyft called goruntime to do configuration loading. Goruntime monitors
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add hyperlink to go runtime here.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed.

README.md Outdated
# Building and Testing

* Install redis-server
* Make sure go is setup correctly and checkout rate limit service into your go path
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are there specifics verification steps that a user can perform to ensure that go is setup correctly? I remember this being a bit confusing.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added link to golang install page

README.md Outdated
requests_per_unit: 500
```

The rate limit configuration file format is YAML (mainly so that comments are supported). In the configuration above
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would move this line about configuration file being in yaml under the configuration format.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

moved

README.md Outdated
```

In the preceding example, we setup a generic rate limit for individual IP addresses. The architecture's edge proxy can
be configured to make a rate limitservice call with the descriptor ("ip_address", "50.0.0.1") for example. This IP would
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: limit service - separate

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

would any other IP. However, the configuration also contains a second configuration that explicitly defines a
value along with the same key. If the descriptor ("ip_address", "50.0.0.5") is received, the service will
*attempt the most specific match possible*. This means both the most nested matching descriptor entry, as well as
the most specific at any descriptor list level. Thus, key/value is always attempted as a match before just key.
Copy link
Copy Markdown
Contributor

@ccaraman ccaraman Feb 1, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the last part is a bit confusing the most specific at any descriptor list level.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is going away in the most recent version

README.md Outdated
*attempt the most specific match possible*. This means both the most nested matching descriptor entry, as well as
the most specific at any descriptor list level. Thus, key/value is always attempted as a match before just key.

### Descriptor list definition
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would move this up before the examples.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@ccaraman ccaraman mentioned this pull request Feb 1, 2017
@junr03 junr03 merged commit ff2e81d into master Feb 2, 2017
@junr03 junr03 deleted the docs branch February 3, 2017 00:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants