All Projects → cookpad → sds

cookpad / sds

Licence: other
Envoy's v1 Service Discovery Service API and v2 Endpoint Discovery Service API

Programming Languages

rust
11053 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to sds

Kuma
🐻 The Universal Service Mesh. CNCF Sandbox Project.
Stars: ✭ 2,516 (+11336.36%)
Mutual labels:  service-mesh, envoy, envoyproxy
meta-protocol-proxy
A data plane framework that supports any layer-7 protocols.
Stars: ✭ 56 (+154.55%)
Mutual labels:  service-mesh, envoyproxy
Layer5
Layer5, the service mesh company, representing every service mesh
Stars: ✭ 137 (+522.73%)
Mutual labels:  service-mesh, envoy
flightpath
XDS to run Envoy as an edge proxy for Consul Connect.
Stars: ✭ 15 (-31.82%)
Mutual labels:  envoy, envoyproxy
meshem
A simple implementation for Envoy's control plane
Stars: ✭ 22 (+0%)
Mutual labels:  service-mesh, envoy
Learn Istio
⛵️ Istio resources 🕸
Stars: ✭ 1,025 (+4559.09%)
Mutual labels:  service-mesh, envoy
yastack
YAStack: User-space network-stack based on DPDK, FreeBSD TCP/IP Stack, EnvoyProxy
Stars: ✭ 90 (+309.09%)
Mutual labels:  envoy, envoyproxy
Envoy-Pilot
Envoy xDS Server with Consul
Stars: ✭ 72 (+227.27%)
Mutual labels:  service-mesh, envoy
atlas
Secure Distributed Thanos Deployment using an Observability Cluster
Stars: ✭ 39 (+77.27%)
Mutual labels:  envoy, envoyproxy
meshery
Meshery, the cloud native manager
Stars: ✭ 1,587 (+7113.64%)
Mutual labels:  service-mesh, envoy
image-hub
Image Hub is a sample application for exploring WebAssembly modules used as Envoy filters.
Stars: ✭ 56 (+154.55%)
Mutual labels:  service-mesh, envoyproxy
envoy-nats-streaming
No description or website provided.
Stars: ✭ 28 (+27.27%)
Mutual labels:  envoy, envoyproxy
Kumonos
Moved to https://github.com/cookpad/itacho
Stars: ✭ 29 (+31.82%)
Mutual labels:  service-mesh, envoy
Envoy Control
Envoy Control is a platform-agnostic, production-ready Control Plane for Service Mesh based on Envoy Proxy.
Stars: ✭ 66 (+200%)
Mutual labels:  service-mesh, envoy
Istio
Connect, secure, control, and observe services.
Stars: ✭ 28,970 (+131581.82%)
Mutual labels:  service-mesh, envoy
Meshery
Meshery, the service mesh management plane
Stars: ✭ 608 (+2663.64%)
Mutual labels:  service-mesh, envoy
envoy-proxy-demos
Set of Envoy Proxy feature demos (Envoy v2 API supported)
Stars: ✭ 63 (+186.36%)
Mutual labels:  service-mesh, envoy
apiclarity
Reconstruct Open API Specifications from real-time workload traffic seamlessly.
Stars: ✭ 290 (+1218.18%)
Mutual labels:  service-mesh, envoy
proxy-wasm-cpp-host
WebAssembly for Proxies (C++ host implementation)
Stars: ✭ 55 (+150%)
Mutual labels:  envoy, envoyproxy
learn-consul-docker
Docker Compose quick starts for Consul features.
Stars: ✭ 51 (+131.82%)
Mutual labels:  service-mesh

sds

Envoy's v1 Service Discovery Service API and v2 Endpoint Discovery Service API. In contrast of https://github.com/lyft/discovery, the sds allow users to serve multiple application instances of single service in single host instance (with single ip address).

Endpoints

v1 SDS

GET /v1/registration/:name/

Responses v1 SDS data: https://www.envoyproxy.io/docs/envoy/v1.8.0/api-v1/cluster_manager/sds

v2 EDS

POST /v2/discovery:endpoints

Accepts v2 DiscoveryRequest, then responses v2 DiscoveryResponse.

Registration

POST /v1/registration/:name/

Request body

{
  ip: String,
  port: u16,
  revision: String,
  tags: {
    az: String,
    region: String,
    instance_id: String,
    canary: bool,
    load_balancing_weight: Option<u8>,
  },
}

Responses 202 on success, 400 on bad requests, 500 for internal server errors.

Deregistration

DELETE /v1/registration/:name/:ip_addr_and_port/

e.g. DELETE /v1/registration/user_service/10.0.0.10:34005/

Responses 202 on success, 400 on bad requests, 500 for internal server errors, and response 400 with JSON message when the entry not found:

{
  "id": "HostNotFound",
  "reason": "Not found the entry"
}

Environment variables

Createing DynamoDB table

  • Create with PK: service as String and ip_port as String
  • Set TTL setting using expire_time key

IAM permissions

  • DynamoDB's query, put_item, delete_item
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].