Project: EaseMesh (Orchestration & Management / Service Mesh)
File: reference.md

Tenant Service | <p align="left">Tenant</p> | <p align="left">Service</p> | |-|-| |<p align="left">Tenant is the logic group of mesh services. provide a scope for service's names. Names of service need to be unique within a tenant.</p>|<p align="left"> define the unique service name in a tenant, a service is may related to other resource such as observability, resilience and traffics</p>| | <p align="left">Traffic Split</p> | <p align="left">Load Balance </p>| |-|-| | <p> describes how to correctly split traffic to service instance</p>|<p> describes how to load balance between instance</p> | | <p align="left">Traffic Control</p> | <p align="left">HTTP Route Group </p> | |-|-| | <p> describes how to control the access to services.</p> |<p> describes the HTTP traffic rules.</p>| Observability consists of three components: ObservabilityOutputServer ObservabilityTracings ObservabilityMetrics |<p align="left">ObservabilityMetrics</p>|<p align="left">ObservabilityTracings</p>|<p align="left">ObservabilityOutputServer</p>| |-|-|-| |<p align="left"> describe how to control metrics collection</p>|<p align="left"> describe how to control tracing collection</p>|<p align="left"> describe how to report tracing and metrics to backend</p>| Resilience configures four key types of features RateLimiter. Retryer |<p align="left">RateLimiter</p>|<p align="left">Retryer</p>| |-|-| |<p align="left">RateLimiter specification describe the sidecar how to rate limits the inbound traffic</p>|<p align="left">Retryer specification describe the sidecar how to issue a repeat request </p>| CircuitBreaker TimeLimiter. |<p align="left">CircuitBreaker</p>|<p align="left">TimeLimiter</p>| |-|-| |<p align="left">CircuitBreaker specification describes the sidecar how to circuit break a downstream service</p>|<p align="left">TimeLimiter specification describes the sidecar how to control request time out </p>| Ingress is the spec of mesh ingress. |<p align="left">Ingress </p>| |-| |<p align="left"> describes how to router the traffic (or request) that came from outside to appropriate destinations (service instances) <br /></p>| |<p align="left">Ingress </p>| |-| | describe the sidecar behavior, for example, define the sidecar should listen on what's port for inbound/outbound traffic| |<p align="left">CustomResourceKind</p>| |-| |<p align="left"> describes the specification of a Custom Resource. Shadow Service is an implementation of Custom Resource.</p>| is an implementation of Custom Resource, its `CustomResourceKind` is defined as: ```yaml kind: CustomResourceKind apiVersion: mesh.megaease.com/v1alpla1 metadata: name: ShadowService spec: jsonSchema: type: object properties: name: type: string namespace: type: string serviceName: type: string mysql: type: object properties: uris: type: string userName: type: string password: type: string kafka: type: object properties: uris: type: string redis: type: object properties: uris: type: string userName: type: string password: type: string rabbitMq: type: object properties: uris: type: string userName: type: string password: type: string elasticSearch: type: object properties: uris: type: string userName: type: string password: type: string ``` See