teleport/vendor/github.com
Sasha Klizhentas 8356ae6a74 Use in-memory cache for the auth server API.
This commit expands the usage of the caching layer
for auth server API:

* Introduces in-memory cache that is used to serve all
Auth server API requests. This is done to achieve scalability
on 10K+ node clusters, where each node fetches certificate authorities,
roles, users and join tokens. It is not possible to scale
DynamoDB backend or other backends on 10K reads per seconds
on a single shard or partition. The solution is to introduce
an in-memory cache of the backend state that is always used
for reads.

* In-memory cache has been expanded to support all resources
required by the auth server.

* Experimental `tctl top` command has been introduced to display
common single node metrics.

Replace SQLite Memory Backend with BTree

SQLite in memory backend was suffering from
high tail latencies under load (up to 8 seconds
in 99.9%-ile on load configurations).

This commit replaces the SQLite memory caching
backend with in-memory BTree backend that
brought down tail latencies to 2 seconds (99.9%-ile)
and brought overall performance improvement.
2019-04-12 14:23:09 -07:00
..
alecthomas Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
aws/aws-sdk-go Events and GRPC API 2018-12-10 17:20:24 -08:00
Azure/go-ansiterm Fixed vendoring issues. 2018-07-25 13:51:50 -07:00
beevik/etree Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
beorn7/perks/quantile Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
boltdb/bolt Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
boombuler/barcode Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
cjbassi/drawille-go Use in-memory cache for the auth server API. 2019-04-12 14:23:09 -07:00
codahale/hdrhistogram Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
coreos Upgrade etcd backend 2018-09-10 15:58:05 -07:00
davecgh/go-spew Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
docker Fixed vendoring issues. 2018-07-25 13:51:50 -07:00
dustin/go-humanize Use in-memory cache for the auth server API. 2019-04-12 14:23:09 -07:00
emicklei/go-restful Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
ghodss/yaml Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
gizak/termui Use in-memory cache for the auth server API. 2019-04-12 14:23:09 -07:00
go-ini/ini Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
go-openapi Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
gogo/protobuf Events and GRPC API 2018-12-10 17:20:24 -08:00
gokyle/hotp Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
golang Upgrade etcd backend 2018-09-10 15:58:05 -07:00
google Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
googleapis/gnostic Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
gravitational Use in-memory cache for the auth server API. 2019-04-12 14:23:09 -07:00
gregjones/httpcache Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
howeyc/gopass Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
imdario/mergo Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
jmespath/go-jmespath Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
jonboulle/clockwork Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
json-iterator/go Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
juju/ratelimit Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
julienschmidt/httprouter Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
kardianos/osext Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
kr/pty Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
kylelemons/godebug Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
mailgun Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
mailru/easyjson Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
mattn Use in-memory cache for the auth server API. 2019-04-12 14:23:09 -07:00
matttproud/golang_protobuf_extensions Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
mdp/rsc Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
Microsoft/go-winio Vendor github.com/Microsoft/go-winio. 2018-08-03 11:06:08 -07:00
mitchellh/go-wordwrap Use in-memory cache for the auth server API. 2019-04-12 14:23:09 -07:00
modern-go Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
nsf/termbox-go Use in-memory cache for the auth server API. 2019-04-12 14:23:09 -07:00
pborman/uuid Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
petar/GoLLRB Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
peterbourgon/diskv Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
pquerna/otp Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
prometheus Use in-memory cache for the auth server API. 2019-04-12 14:23:09 -07:00
PuerkitoBio Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
russellhaering Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
satori/go.uuid Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
sirupsen/logrus Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
spf13/pflag Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
tstranex/u2f Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
vulcand/predicate Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00
xeipuuv Add prune settings and remove unused files 2018-06-29 16:23:59 -07:00