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.
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:
| Component | Description |
|---|---|
| Load Balancer | Entry 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:
Checksum-Based Storage
Understand how Artifactory deduplicates binaries using checksums — each file is stored only once regardless of upload count.
High Availability
Configure multi-node HA deployments to maximize uptime and distribute load across the JFrog Platform.
JFrog Products Container Base Image
Specifications and OS details for the Docker base images used to deploy JFrog products and services.
System Directories
Directory structure created during installation — where configuration files, logs, and data are stored.
Artifactory Product
Architecture and microservices that make up JFrog Artifactory, including metadata, frontend, and access services.
Xray Service
Architecture and microservices powering Xray's vulnerability scanning, indexing, and compliance analysis.
Distribution Service
Architecture of the Distribution service that manages secure delivery of release bundles to edge nodes.
Router Service
The central service managing API routing, service discovery, and communication between JFrog microservices.
Self-Managed Reference Architecture (External)
Use these cross-references to learn self-managed deployment patterns and planning guidance from the JFrog Reference Architecture site.
JFrog Platform Reference Architecture
Start with the overview and goals to understand how to design enterprise self-managed deployments
Self-Managed Use Cases
Explore single-site, multi-site, hybrid, and air-gapped self-managed deployment models
Deployment Considerations
Review runtime platform, hardware sizing, network, HA, database, storage, security, and migration considerations
Disaster Recovery Guidance
Use disaster recovery tiers and playbook guidance when planning production resiliency
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.
Updated 16 days ago
