{"id":50928,"date":"2025-07-27T10:27:30","date_gmt":"2025-07-27T10:27:30","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=50928"},"modified":"2026-02-21T07:42:56","modified_gmt":"2026-02-21T07:42:56","slug":"jfrog-artifractory-architecture","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/jfrog-artifractory-architecture\/","title":{"rendered":"Jfrog Artifractory Architecture"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"682\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-228-1024x682.png\" alt=\"\" class=\"wp-image-50929\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-228-1024x682.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-228-300x200.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-228-768x512.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-228.png 1334w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">JFrog Artifactory Architecture: Comprehensive Overview<\/h2>\n\n\n\n<p>JFrog Artifactory acts as the core of the JFrog Platform, providing robust, universal artifact management across the software supply chain. Its architecture is <strong>modular<\/strong>, <strong>scalable<\/strong>, and designed to fit both standalone and multi-site enterprise deployments.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Core Components<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Component<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><strong>Artifactory Application<\/strong><\/td><td>The main server application, handling REST\/API requests, artifact management, replication, and all core functions. Requires a DB and filestore to operate.<\/td><\/tr><tr><td><strong>Database<\/strong><\/td><td>Stores all metadata: user info, permissions, repo configs, artifact paths\/names, and platform configuration. Recommended to use an external SQL DB (PostgreSQL, MySQL, etc.) for production.<\/td><\/tr><tr><td><strong>Filestore (Binary Store)<\/strong><\/td><td>Stores only the actual binaries (artifacts) themselves, organized by checksums (e.g., SHA-1). May use local storage, NFS, or cloud object storage (AWS S3, GCS, Azure Blob).<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"740\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-229-1024x740.png\" alt=\"\" class=\"wp-image-50930\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-229-1024x740.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-229-300x217.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-229-768x555.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-229.png 1244w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Microservices (JFrog Platform, v7+)<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Service<\/th><th>Functionality<\/th><\/tr><\/thead><tbody><tr><td><strong>Router<\/strong><\/td><td>Service discovery and internal API gateway, handling all traffic routing across microservices and products.<\/td><\/tr><tr><td><strong>Access<\/strong><\/td><td>Authentication, access control, group\/user management, and access token issuance for all platform services.<\/td><\/tr><tr><td><strong>Frontend<\/strong><\/td><td>The user interface serving the web UI for all JFrog products in the deployment.<\/td><\/tr><tr><td><strong>Topology<\/strong><\/td><td>Manages platform topology, service registry, and node discovery within clustered deployments (from v7.104).<\/td><\/tr><tr><td><strong>One Model<\/strong><\/td><td>Central API model for all JFrog entities, providing consistency and a unified GraphQL API.<\/td><\/tr><tr><td><strong>JFConnect<\/strong><\/td><td>Manages subscription, licensing entitlements, and cloud checks.<\/td><\/tr><tr><td><strong>Event<\/strong><\/td><td>Handles platform-wide webhook and event distribution for automation and integrations.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>High Availability &amp; Scalability<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>HA Cluster:<\/strong> In enterprise mode, Artifactory nodes are grouped behind a load balancer. Nodes share the same external database and filestore, ensuring redundancy, failover, and horizontal scalability. Sessions are stateless, so users or jobs can connect to any node.<\/li>\n\n\n\n<li><strong>Replication:<\/strong> Both unidirectional and bidirectional (federated) repository replication supported for DR, multi-site collaboration, and distributed pipelines.<\/li>\n\n\n\n<li><strong>Edge Nodes:<\/strong> JFrog Edge servers enable caching and distribution closer to remote teams; critical for global or hybrid SaaS setups.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"596\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-231-1024x596.png\" alt=\"\" class=\"wp-image-50932\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-231-1024x596.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-231-300x175.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-231-768x447.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-231.png 1408w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"716\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-232-1024x716.png\" alt=\"\" class=\"wp-image-50933\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-232-1024x716.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-232-300x210.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-232-768x537.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-232.png 1373w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Deployment Models<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Single Node:<\/strong> All services deployed on one VM\/container, suitable for evaluation, small teams, or edge.<\/li>\n\n\n\n<li><strong>Multi-Node \/ HA:<\/strong> Active-active clusters with externalized DB and filestore for production.<\/li>\n\n\n\n<li><strong>Hybrid\/SaaS:<\/strong> Combines JFrog-managed SaaS core with on-prem or edge nodes for copliance or performance.<\/li>\n\n\n\n<li><strong>Cloud-Native:<\/strong> Supports Kubernetes, scalable object storage, integrations with CSPs.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Key Platform Workflows<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-230-1024x576.png\" alt=\"\" class=\"wp-image-50931\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-230-1024x576.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-230-300x169.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-230-768x432.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-230-1536x864.png 1536w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-230-355x199.png 355w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/07\/image-230.png 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Clients<\/strong> (browser, CI\/CD servers, REST API, CLI, package managers) interact via a load balancer.<\/li>\n\n\n\n<li><strong>Router<\/strong> directs requests to platform microservices or the core Artifactory server.<\/li>\n\n\n\n<li><strong>Authentication &amp; Access<\/strong> is managed by the Access service.<\/li>\n\n\n\n<li><strong>Artifacts<\/strong> are stored in the filestore; all metadata is in the DB. File locations are mapped by checksum.<\/li>\n\n\n\n<li><strong>Replication<\/strong> and <strong>event handling<\/strong> allow for automation, integration, and multi-site consistency.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Architecture Highlights<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Universal Format Support:<\/strong> 40+ package types, broad DevOps ecosystem compatibility.<\/li>\n\n\n\n<li><strong>Stateless Services:<\/strong> Easy to scale both horizontally and vertically.<\/li>\n\n\n\n<li><strong>API-Driven Automation:<\/strong> Extensive REST and GraphQL APIs available for all operations.<\/li>\n\n\n\n<li><strong>Backup\/DR:<\/strong> Backups cover DB + filestore; HA mode is recommended for critical workloads.<\/li>\n\n\n\n<li><strong>Observability:<\/strong> Logging, access auditing, and real-time eventing is integrated.<\/li>\n\n\n\n<li><strong>Governance:<\/strong> Role-based access, compliance, and security scanning (with Xray add-ons).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><em>Sample High-level Architecture Diagram (Textual)<\/em><\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">text<code>+---------------------+       +-------------------+        +--------------------------+\n|  User\/CI\/CLI\/IDE    +-----&gt; |   Load Balancer   +------&gt; |    Router Service        |\n+---------------------+       +-------------------+        +--------------------------+\n                                                                       |\n         +-------------------------+-----------+----------+---+---+------------------+\n         |   Artifactory App   |   Access   | Frontend | ... | Microservices        |\n         +-------------------------+-----------+----------+---+---+------------------+\n                               |                          |\n                     +-------------------+      +-----------------------+\n                     |    Database       |      |     Binary Filestore   |\n                     +-------------------+      +-----------------------+\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Summary Table: Artifactory Architecture Capabilities<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Capability<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Artifact Storage<\/td><td>Highly scalable &amp; pluggable filestore; all binary assets managed via checksum<\/td><\/tr><tr><td>Metadata Management<\/td><td>Relational DB for all config, repo, and artifact metadata<\/td><\/tr><tr><td>Multi-tenancy &amp; RBAC<\/td><td>Fine-grained role\/access control throughout<\/td><\/tr><tr><td>API\/Automation<\/td><td>Full-featured REST API, scripted automation, and webhook\/event platform<\/td><\/tr><tr><td>Scalability &amp; HA<\/td><td>Active\/active cluster mode with shared DB\/file store; seamless failover, rolling upgrades<\/td><\/tr><tr><td>Multi-site\/Edge<\/td><td>Support for federated and replicated topologies; edge node distribution for global organizations<\/td><\/tr><tr><td>Security &amp; Compliance<\/td><td>Encrypted storage, access controls, audit logs, optional integrated scanning and policy engines (via JFrog Xray)<\/td><\/tr><tr><td>Observability<\/td><td>Unified logs, queryable event streams, and usage dashboards<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>JFrog Artifactory\u2019s architecture is engineered for performance, robustness, and flexibility, making it suitable for everything from small teams to the largest, most demanding global enterprises.<\/p>\n\n\n\n<p>Here\u2019s an overview of the <strong>JFrog Artifactory Architecture<\/strong> with its core components and how they interact:<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h2 class=\"wp-block-heading\">\u2705 <strong>Key Components of Artifactory Architecture<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1\ufe0f\u20e3 <strong>User Interfaces<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Web UI:<\/strong> For admin and user interaction.<\/li>\n\n\n\n<li><strong>REST API:<\/strong> For automation and integrations.<\/li>\n\n\n\n<li><strong>JFrog CLI:<\/strong> Command-line interface to manage artifacts.<\/li>\n\n\n\n<li><strong>CI\/CD Tools:<\/strong> Jenkins, GitLab, Azure DevOps, etc.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h3 class=\"wp-block-heading\">2\ufe0f\u20e3 <strong>Access Layer<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Load Balancer \/ Reverse Proxy:<\/strong> Routes traffic to Artifactory nodes (used in HA).<\/li>\n\n\n\n<li><strong>Authentication &amp; RBAC:<\/strong> SAML, LDAP, OAuth, API tokens.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h3 class=\"wp-block-heading\">3\ufe0f\u20e3 <strong>Application Layer<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Artifactory Core Service:<\/strong> Handles repository management, metadata, and artifact lifecycle.<\/li>\n\n\n\n<li><strong>Router Service:<\/strong> Manages API routing and internal service communication.<\/li>\n\n\n\n<li><strong>Metadata Service:<\/strong> Stores artifact properties, build info, checksums.<\/li>\n\n\n\n<li><strong>Replication Service:<\/strong> Manages syncing between instances and federated repositories.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h3 class=\"wp-block-heading\">4\ufe0f\u20e3 <strong>Storage Layer<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Filestore:<\/strong> Stores actual binaries (local disk, NFS, or cloud object storage like S3, Azure Blob).<\/li>\n\n\n\n<li><strong>Database:<\/strong> Stores metadata, configurations, permissions.\n<ul class=\"wp-block-list\">\n<li><strong>Recommended:<\/strong> PostgreSQL for production.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Checksum Storage:<\/strong> Deduplicates identical artifacts using SHA1\/MD5.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h3 class=\"wp-block-heading\">5\ufe0f\u20e3 <strong>Repository Types<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Local:<\/strong> Internal artifacts.<\/li>\n\n\n\n<li><strong>Remote:<\/strong> Cached external dependencies.<\/li>\n\n\n\n<li><strong>Virtual:<\/strong> Unified access endpoint.<\/li>\n\n\n\n<li><strong>Federated:<\/strong> Cross-instance sync.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h3 class=\"wp-block-heading\">6\ufe0f\u20e3 <strong>High Availability (HA) Architecture<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Multiple Artifactory Nodes:<\/strong> Active-active cluster for redundancy.<\/li>\n\n\n\n<li><strong>Shared Filestore:<\/strong> NFS or Object Storage accessible by all nodes.<\/li>\n\n\n\n<li><strong>External Database:<\/strong> Single source of metadata for all nodes.<\/li>\n\n\n\n<li><strong>Load Balancer:<\/strong> Distributes requests.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h3 class=\"wp-block-heading\">7\ufe0f\u20e3 <strong>Integrations<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>JFrog Xray:<\/strong> Security scanning and license compliance.<\/li>\n\n\n\n<li><strong>JFrog Pipelines:<\/strong> CI\/CD automation integrated with Artifactory.<\/li>\n\n\n\n<li><strong>JFrog Distribution:<\/strong> Signed, immutable release distribution.<\/li>\n\n\n\n<li><strong>Third-Party Tools:<\/strong> Kubernetes, Helm, Terraform, Docker.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h2 class=\"wp-block-heading\">\u2705 <strong>Workflow Overview<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Developer\/CI pipeline pushes artifact to Artifactory.<\/li>\n\n\n\n<li>Artifactory stores the binary in the Filestore and metadata in the DB.<\/li>\n\n\n\n<li>Metadata services manage indexing and checksum validation.<\/li>\n\n\n\n<li>Users or pipelines fetch artifacts via the Web UI, API, or CLI.<\/li>\n\n\n\n<li>In HA, requests go through Load Balancer \u2192 Artifactory Nodes \u2192 Shared Storage.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<p>This diagram represents the <strong>architecture of JFrog Artifactory<\/strong> and how different components interact. Here\u2019s an explanation of each part:<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h2 class=\"wp-block-heading\">\u2705 <strong>Top Layer \u2013 Interfaces<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>JavaEE Web Application<\/strong>\n<ul class=\"wp-block-list\">\n<li>The Artifactory server application built on JavaEE standards.<\/li>\n\n\n\n<li>Provides the web-based admin and user interface.<\/li>\n\n\n\n<li>Acts as the core platform to serve all user and API requests.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>UI<\/strong>\n<ul class=\"wp-block-list\">\n<li>The <strong>User Interface<\/strong> (web-based dashboard).<\/li>\n\n\n\n<li>Allows browsing repositories, uploading\/downloading artifacts, and managing configurations via HTTP.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>WebDAV<\/strong>\n<ul class=\"wp-block-list\">\n<li>Web-based Distributed Authoring and Versioning.<\/li>\n\n\n\n<li>Enables mounting Artifactory as a network drive for easy drag-and-drop artifact management via HTTP.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>REST API<\/strong>\n<ul class=\"wp-block-list\">\n<li>Provides programmatic access to Artifactory functionality.<\/li>\n\n\n\n<li>Used by CI\/CD pipelines, automation scripts, and integrations.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h2 class=\"wp-block-heading\">\u2705 <strong>Middle Layer \u2013 Core Services<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Caching<\/strong>\n<ul class=\"wp-block-list\">\n<li>Temporarily stores frequently accessed artifacts.<\/li>\n\n\n\n<li>Improves performance and reduces repeated requests to remote repositories.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Virtual Filesystem<\/strong>\n<ul class=\"wp-block-list\">\n<li>Provides a unified, logical file structure to users.<\/li>\n\n\n\n<li>Aggregates artifacts from local, remote, and virtual repositories under a single namespace.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Transactions<\/strong>\n<ul class=\"wp-block-list\">\n<li>Ensures atomic operations (upload\/download) are consistent.<\/li>\n\n\n\n<li>Handles concurrent requests without data corruption.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Security<\/strong>\n<ul class=\"wp-block-list\">\n<li>Manages authentication, authorization, and role-based access control (RBAC).<\/li>\n\n\n\n<li>Integrates with LDAP, SAML, OAuth, and API tokens.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Business Logic<\/strong>\n<ul class=\"wp-block-list\">\n<li>Implements Artifactory&#8217;s core repository management rules.<\/li>\n\n\n\n<li>Handles artifact promotion, replication, checksum validation, and metadata processing.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h2 class=\"wp-block-heading\">\u2705 <strong>Bottom Layer \u2013 Connectors and Storage<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>HTTP Connector<\/strong>\n<ul class=\"wp-block-list\">\n<li>Manages communication between Artifactory and external remote repositories via HTTP.<\/li>\n\n\n\n<li>Responsible for downloading external dependencies and caching them.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Data Access<\/strong>\n<ul class=\"wp-block-list\">\n<li>Handles interaction with the metadata database using JDBC.<\/li>\n\n\n\n<li>Ensures artifact metadata, configuration, and permissions are stored reliably.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Remote Repositories<\/strong>\n<ul class=\"wp-block-list\">\n<li>External artifact sources (e.g., Maven Central, npm registry, PyPI).<\/li>\n\n\n\n<li>Artifactory proxies and caches these via remote repositories.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Databases<\/strong>\n<ul class=\"wp-block-list\">\n<li>Stores metadata, configuration, and access control data.<\/li>\n\n\n\n<li>Supported DBs:\n<ul class=\"wp-block-list\">\n<li><strong>MySQL<\/strong><\/li>\n\n\n\n<li><strong>Oracle<\/strong><\/li>\n\n\n\n<li><strong>Microsoft SQL Server<\/strong><\/li>\n\n\n\n<li><strong>PostgreSQL<\/strong> (recommended)<\/li>\n\n\n\n<li><strong>Apache Derby<\/strong> (for testing, not production)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h2 class=\"wp-block-heading\">\u2705 <strong>How It Works Together<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Users or CI\/CD tools<\/strong> interact via UI, WebDAV, or REST API.<\/li>\n\n\n\n<li>Requests go through caching and virtual filesystem layers.<\/li>\n\n\n\n<li><strong>Local artifacts<\/strong> are served from storage; <strong>external artifacts<\/strong> are fetched via HTTP connectors from remote repositories.<\/li>\n\n\n\n<li>Metadata is stored in the relational database via the Data Access layer.<\/li>\n\n\n\n<li>Security and business logic ensure access control and artifact lifecycle management.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>JFrog Artifactory Architecture: Comprehensive Overview JFrog Artifactory acts as the core of the JFrog Platform, providing robust, universal artifact management across the software supply chain. Its architecture is modular, scalable,&#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[4879],"tags":[],"class_list":["post-50928","post","type-post","status-publish","format-standard","hentry","category-artifactory"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/50928","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=50928"}],"version-history":[{"count":2,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/50928\/revisions"}],"predecessor-version":[{"id":59257,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/50928\/revisions\/59257"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=50928"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=50928"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=50928"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}