Skip to content

ECAD Service#

Overview#

Electronic Computer-Aided Design (ECAD) refers to the software tools and processes used to design, simulate, and document electronic systems such as printed circuit boards (PCBs), integrated circuits, and wiring diagrams. Critical Manufacturing MES provides an ECAD server to assist the user when interacting with ECAD diagrams loaded into the system.

Architecture#

The ECAD service can be horizontally scaled for increased availability, allowing the capacity to answer multiple requests. You can see a simplified architecture diagram below:

ecad

When a client triggers an ECAD-scope request, the system follows these steps:

  1. Request enters Traefik The application host forwards the request to Traefik, which acts as the reverse proxy and load balancer for ECAD as well as to other MES services. Traefik evaluates routing rules (based on path, domain, or service configuration) and determines that this request should be forwarded to the ECAD service.

  2. Traefik load balances across ECAD instances If multiple ECAD instances are available, Traefik uses its configured load-balancing strategy to forward the request to one of the healthy ECAD nodes.

  3. Traefik performs health checks Traefik continuously checks the health of ECAD nodes using the configured health check endpoint. The ECAD service will respond to each health check with one of the following:

    • Unhealthy - If the system is not live (if ECAD is down, starting, or in an error state), Traefik removes this instance from the load-balancing pool until it recovers.
    • Service Unavailable - If the ECAD instance is live but has reached the maximum number of concurrent requests it can process, Traefik will temporarily mark this instance as unavailable and route new requests to other available nodes.
    • Healthy - If the ECAD instance is live and capable of responding to new requests, Traefik keeps this instance active in the load-balancing rotation.
  4. ECAD processes the request Once Traefik routes the request to a healthy ECAD node:

    • ECAD validates scope, checks internal state, and completes the requested operation.
    • ECAD returns the appropriate HTTP response to Traefik.
  5. Traefik returns the response to the caller Traefik forwards the ECAD response back to the application host, which then returns it to the originating client.

Info

For more information on configuring multiple ECAD instances, see the Installation guide.