System Architecture

JPD microservices architecture: each product runs with local services and a Router for API gateway and inter-service discovery.

A JFrog Platform Deployment (JPD) is the unit of deployment for all JFrog self-managed products. Each JPD contains one or more JFrog products — such as JFrog Artifactory, JFrog Xray, and JFrog Distribution. Every node within a JPD runs the product's internal services alongside a local Router, which acts as the API gateway and service discovery component for all inter-service communication.

The following diagram represents a complete JPD containing all the services in the JFrog Enterprise+ Platform.

jfrog-platform-architecture

The diagram shows a JPD composed of three product nodes — Artifactory, Xray, and Distribution — each running its own microservices alongside a local Router. External clients (UI, REST API, CLI, CI/CD) connect through a Load Balancer, which routes all traffic to Artifactory's Router on port 8082. The Router on each node handles both inbound API requests and outbound inter-service discovery within the JPD.

Node Structure

Each JFrog product can be deployed with one or more nodes. A node contains:

  • The product's microservices
  • A local Router for service discovery and API gateway functions

Microservices for the same product run on the same node or host.

External Access Points

These components sit outside the JPD and provide external access:

ComponentDescription
Load BalancerEntry point to the JPD. Routes requests to Artifactory (and its Router service) and to Edge nodes. Configured by the customer.
Clients (UI / REST API / CLI / Terraform / CI/CD)External clients interact with the JFrog Platform through the load balancer.

For more information about the services, microservices, and architecture of the JFrog Platform:

Self-Managed Reference Architecture (External)

Use these cross-references to learn self-managed deployment patterns and planning guidance from the JFrog Reference Architecture site.

Frequently Asked Questions

❓What is a JFrog Platform Deployment (JPD)?

A: A JPD is a self-managed deployment of the JFrog Platform that contains one or more JFrog products (Artifactory, Xray, Distribution). Each product node within a JPD includes a local Router service that handles API routing and service discovery. Multiple JPDs can be interconnected in multi-site topologies.

❓How do JFrog products communicate within a JPD?

A: All inter-service communication within a JPD is routed through the local Router service running on each node. External clients (UI, REST API, CLI, CI/CD tools) connect to the JPD through a load balancer, which routes requests to Artifactory's Router service on port 8082.

❓What is the JFrog Router service?

A: The Router is a microservice that runs on every JFrog product node. It serves as the API gateway for incoming requests and as the service discovery mechanism for communication between microservices. The Router listens on port 8082 by default and is the primary entry point for all platform API calls. See JFrog Router Service for details.