文件名称:gubernator:高性能速率限制微服务和库
文件大小:320KB
文件格式:ZIP
更新时间:2024-05-18 06:51:44
golang microservice grpc rate-limiting golang-library
古伯纳特 Gubernator是一种分布式,高性能,云原生和无状态速率限制服务。 古柏纳特的特点 Gubernator在整个集群中平均分配速率限制请求,这意味着您可以通过简单地添加更多节点来扩展系统。 Gubernator不依赖于诸如memcached或redis之类的外部缓存,因为这样就不会与依赖服务进行部署同步。 这使得在kubernetes或nomad琐事等编排系统中动态地增加或缩小了集群。 Gubernator在磁盘上不保持任何状态,它的配置由客户端根据每个请求传递给它。 Gubernator提供对其API的GRPC和HTTP访问。 可以作为需要速率限制的服务的辅助工具运行,也可以作为单独的服务运行。 可用作库,以实现特定于域的速率限制服务。 支持用于极高吞吐量环境的可选最终一致速率限制分配。 (请参阅GLOBAL behavior ) Gubernator是Gov
【文件预览】:
gubernator-master
----gubernator.pb.gw.go(8KB)
----go.mod(845B)
----client.go(3KB)
----proto()
--------peers.proto(2KB)
--------gubernator.proto(7KB)
----cli-tls.conf(148B)
----grpc_stats.go(4KB)
----go.sum(29KB)
----kubernetesconfig.go(150B)
----daemon.go(10KB)
----tls.go(12KB)
----interval.go(4KB)
----certs()
--------ca.key(3KB)
--------client-auth-ca.key(2KB)
--------client-auth.req(1KB)
--------client-auth-ca.pem(1KB)
--------ca.pem(2KB)
--------client-auth.pem(1KB)
--------client-auth.conf(45B)
--------gubernator.csr(2KB)
--------gubernator.pem(2KB)
--------DO_NOT_USE_THESE_IN_PRODUCTION(27B)
--------ca.srl(17B)
--------client-auth.key(2KB)
--------gubernator.conf(269B)
--------gubernator.key(3KB)
--------client-auth-ca.srl(3B)
----architecture.md(6KB)
----docker-compose-etcd.yaml(3KB)
----images()
--------architecture.png(79KB)
--------peer-requests-graph.png(41KB)
--------requests-graph.png(64KB)
----interval_test.go(5KB)
----docker-compose-tls.yaml(2KB)
----Dockerfile(764B)
----scripts()
--------start-cluster.sh(844B)
--------proto.sh(1KB)
--------gubernator-cli.py(2KB)
----kubernetesconfig_local.go(656B)
----etc()
--------server-2.yaml(488B)
--------server-1.yaml(488B)
--------server-3.yaml(488B)
----benchmark_test.go(4KB)
----tls_test.go(7KB)
----global.go(7KB)
----LICENSE(10KB)
----cache.go(5KB)
----kubernetes.go(7KB)
----gubernator.pb.go(27KB)
----README.md(12KB)
----multiregion.go(2KB)
----Makefile(2KB)
----example.conf(7KB)
----store_test.go(9KB)
----cluster()
--------cluster.go(3KB)
--------cluster_test.go(2KB)
----peer_client.go(10KB)
----etcd.go(8KB)
----gubernator.go(13KB)
----memberlist.go(7KB)
----logging()
--------logging.go(1KB)
----k8s-deployment.yaml(3KB)
----algorithms.go(8KB)
----docker-compose.yaml(2KB)
----functional_test.go(23KB)
----.gitignore(70B)
----peer_client_test.go(2KB)
----net.go(3KB)
----peers.pb.go(15KB)
----CODEOWNERS(191B)
----replicated_hash_test.go(3KB)
----hash.go(3KB)
----cmd()
--------gubernator-cluster()
--------gubernator()
--------gubernator-cli()
----python()
--------setup.py(2KB)
--------requirements-py2.txt(246B)
--------tests()
--------gubernator()
--------requirements-py3.txt(191B)
----region_picker.go(2KB)
----hash_test.go(3KB)
----store.go(4KB)
----version(11B)
----replicated_hash.go(3KB)
----config.go(19KB)
----CHANGELOG(5KB)