You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ignite.apache.org by sk...@apache.org on 2025/12/30 17:04:59 UTC

(ignite-website) branch master updated: IGNITE-27463 Part 6 of AI3 blog series (#303)

This is an automated email from the ASF dual-hosted git repository.

sk0x50 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite-website.git


The following commit(s) were added to refs/heads/master by this push:
     new 97d3de75ff IGNITE-27463 Part 6 of AI3 blog series (#303)
97d3de75ff is described below

commit 97d3de75ff5e434a2b13632bb85f5282a6836b19
Author: jinxxxoid <ji...@gmail.com>
AuthorDate: Tue Dec 30 21:04:54 2025 +0400

    IGNITE-27463 Part 6 of AI3 blog series (#303)
---
 .DS_Store                                          | Bin 0 -> 6148 bytes
 404.html                                           |   1 +
 _src/_blog/apache-ignite-3-architecture-part-6.pug | 560 ++++++++++++
 arch/clustering.html                               |   1 +
 arch/multi-tier-storage.html                       |   1 +
 arch/native-persistence.html                       |   1 +
 blog/1/index.html                                  |  84 +-
 blog/2/index.html                                  | 107 ++-
 blog/3/index.html                                  |  55 ++
 blog/apache-ignite-3-architecture-part-6.html      | 980 +++++++++++++++++++++
 blog/apache/1/index.html                           |  79 +-
 blog/apache/2/index.html                           |  38 +
 blog/apache/index.html                             |  25 +
 blog/ignite/1/index.html                           |  92 +-
 blog/ignite/2/index.html                           | 101 ++-
 blog/{SQL => ignite/3}/index.html                  |  53 +-
 blog/ignite/index.html                             |  25 +
 blog/index.html                                    |  19 +
 download.html                                      |   1 +
 events.html                                        |   1 +
 faq.html                                           |   1 +
 features/acid-transactions.html                    |   1 +
 features/compute-apis.html                         |   1 +
 features/index.html                                |   1 +
 features/key-value-apis.html                       |   1 +
 features/machinelearning.html                      |   1 +
 features/multilanguage.html                        |   1 +
 features/service-apis.html                         |   1 +
 features/sql.html                                  |   1 +
 features/streaming.html                            |   1 +
 features/tooling.html                              |   1 +
 img/.DS_Store                                      | Bin 0 -> 6148 bytes
 our-community.html                                 |   1 +
 resources.html                                     |   1 +
 use-cases.html                                     |   1 +
 use-cases/digital-integration-hub.html             |   1 +
 use-cases/hadoop-acceleration.html                 |   1 +
 use-cases/high-performance-computing.html          |   1 +
 use-cases/in-memory-cache.html                     |   1 +
 use-cases/in-memory-data-grid.html                 |   1 +
 use-cases/in-memory-database.html                  |   1 +
 use-cases/key-value-store.html                     |   1 +
 use-cases/provenusecases.html                      |   1 +
 use-cases/spark-acceleration.html                  |   1 +
 44 files changed, 1993 insertions(+), 254 deletions(-)

diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000000..16e4043ad1
Binary files /dev/null and b/.DS_Store differ
diff --git a/404.html b/404.html
index 51b6a29173..467f775836 100644
--- a/404.html
+++ b/404.html
@@ -414,6 +414,7 @@
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/_src/_blog/apache-ignite-3-architecture-part-6.pug b/_src/_blog/apache-ignite-3-architecture-part-6.pug
new file mode 100644
index 0000000000..797f461a9b
--- /dev/null
+++ b/_src/_blog/apache-ignite-3-architecture-part-6.pug
@@ -0,0 +1,560 @@
+---
+title: "Apache Ignite Architecture Series: Part 6 - Distributed Consistency Under Load: When High-Velocity Meets High-Availability"
+author: "Michael Aglietti"
+date: 2025-12-30
+tags:
+    - apache
+    - ignite
+---
+
+p Distributed systems traditionally force a choice between consistency and speed. Apache Ignite's RAFT implementation delivers both: strong guarantees that protect your business without the coordination penalties that limit throughput.
+
+<!-- end -->
+
+p When network partitions split your cluster, duplicate payments happen. Apache Ignite prevents this through automatic coordination that maintains consistency without performance penalties.
+
+p #[strong Business scenario:] Your payment processing system handles 10,000 transactions per second across 5 nodes. Network issues isolate 2 nodes from the remaining 3 nodes. Both groups continue processing payments. Customer payment gets charged twice.
+p #[strong The solution:] Automatic consensus ensures only one group can process payments during network splits. Your application code stays simple while the platform handles distributed coordination automatically.
+p #[strong Performance guarantee:] Consensus happens in the background without blocking transaction processing.
+br
+
+h2 Business Problems from Inconsistent Data
+
+h3 Duplicate Payment Scenario
+
+p Network partitions create business-critical consistency problems:
+
+p #[strong What happens during network partition without proper coordination:]
+pre
+  code.
+    // Network partition splits payment cluster
+    // Both partitions continue processing payments independently
+    // Partition A (3 nodes) processes payment:
+    PaymentResult resultA = processPayment(payment); // SUCCESS: Balance updated to $500
+    // Partition B (2 nodes) processes same payment:
+    PaymentResult resultB = processPayment(payment); // SUCCESS: Balance updated to $500
+    // When network heals: customer charged twice, balance corrupted
+    // Expected: $500 final balance
+    // Actual: $0 final balance (double charge)
+
+p #[strong Business impact of consistency failures:]
+ul
+  li #[strong Customer complaints]: Duplicate charges from partition processing
+  li #[strong Financial exposure]: Regulatory penalties for transaction sequence errors
+  li #[strong System downtime]: Manual reconciliation required when partitions heal
+  li #[strong Business risk]: Revenue loss during extended partition scenarios
+
+h3 Why Traditional Solutions Fail
+
+p #[strong Performance penalty:] Traditional consensus adds 20-50ms to every transaction through multiple network round-trips. At 10,000 payments per second, this creates a 200-500 second processing backlog.
+p #[strong Failure problems:]
+ul
+  li #[strong Network delays]: Every transaction requires multiple round-trips to all nodes
+  li #[strong Processing blocks]: All nodes wait for slowest participant
+  li #[strong Failure stops processing]: Single node failure blocks all transactions
+  li #[strong Partition stops everything]: Network partition stops all processing
+br
+
+h2 Apache Ignite Automatic Coordination Solution
+
+h3 Zero-Code Consistency for Normal Operations
+
+p #[strong Your application code stays simple. Apache Ignite handles distributed coordination automatically.]
+pre
+  code.
+    // Your application code - simple and clean
+    public PaymentResult processPayment(PaymentRequest payment) {
+        return ignite.transactions().runInTransaction(tx -> {
+            Table accounts = ignite.tables().table("accounts");
+
+            // Standard database operations
+            Tuple account = accounts.recordView().get(tx,
+                Tuple.create().set("account_id", payment.accountId));
+
+            if (account.decimalValue("balance").compareTo(payment.amount) < 0) {
+                return PaymentResult.INSUFFICIENT_FUNDS;
+            }
+
+            // Update account balance
+            accounts.recordView().upsert(tx, Tuple.create()
+                .set("account_id", payment.accountId)
+                .set("balance", account.decimalValue("balance").subtract(payment.amount)));
+
+            return PaymentResult.SUCCESS;
+        });
+        // Apache Ignite handles all distributed coordination automatically:
+        // - Prevents duplicate processing during network partitions
+        // - Ensures balance consistency across all nodes
+        // - Maintains transaction ordering for compliance
+        // - Provides automatic failure recovery
+    }
+p #[strong Automatic coordination benefits:]
+
+ul
+  li #[strong No coordination code]: Write business logic, Ignite handles distributed consistency
+  li #[strong No duplicate processing]: Network partitions cannot create duplicate payments
+  li #[strong No configuration needed]: Consistency works automatically without setup
+  li #[strong No performance penalty]: Coordination happens in the background without blocking operations
+br
+
+h2 Advanced Features: Manual Coordination Control
+br
+
+p For specialized use cases, Apache Ignite provides manual control over distributed coordination. Most applications never need this.
+
+h3 When Manual Control Matters
+
+ul
+  li Custom distributed workflows with specific ordering requirements
+  li Multi-step operations requiring atomic coordination across steps
+  li Application-specific conflict resolution logic
+  li Performance-critical operations needing direct coordination control
+pre
+  code.
+    // Advanced RAFT control for custom distributed algorithms
+    public class CustomPaymentWorkflowRaft {
+
+        private final RaftGroupService paymentRaftGroup;
+        private final ClusterService clusterService;
+
+        public CompletableFuture&lt;PaymentResult&gt; processCustomPaymentWorkflow(PaymentRequest payment) {
+            // Custom multi-step payment workflow requiring specific consensus behavior
+            CustomPaymentCommand paymentCommand = new CustomPaymentCommand(payment);
+
+            // Direct RAFT group control for specialized workflow
+            return paymentRaftGroup.run(paymentCommand)
+                .thenApply(result -> {
+                    // Custom workflow processed with specialized consensus logic
+                    return (PaymentResult) result;
+                });
+        }
+
+        // Custom command for specialized payment workflows
+        public static class CustomPaymentCommand implements Command {
+            private final PaymentRequest payment;
+
+            public CustomPaymentCommand(PaymentRequest payment) {
+                this.payment = payment;
+            }
+
+            public PaymentRequest getPayment() {
+                return payment;
+            }
+        }
+
+        // Custom RAFT group listener for specialized processing
+        public class CustomPaymentRaftGroupListener implements RaftGroupListener {
+
+            @Override
+            public void onWrite(Iterator&lt;CommandClosure&lt;WriteCommand&gt;&gt; iterator) {
+                while (iterator.hasNext()) {
+                    CommandClosure&lt;WriteCommand&gt; closure = iterator.next();
+
+                    if (closure.command() instanceof CustomPaymentCommand) {
+                        CustomPaymentCommand cmd = (CustomPaymentCommand) closure.command();
+                        PaymentResult result = processCustomPaymentWorkflow(cmd.getPayment());
+                        closure.result(result);
+                    }
+                }
+            }
+
+            private PaymentResult processCustomPaymentWorkflow(PaymentRequest payment) {
+                // Custom distributed workflow requiring specific consensus behavior
+                // This would implement specialized logic not available through standard transactions
+                return new PaymentResult();
+            }
+        }
+    }
+
+p #[strong Advanced Control Use Cases:]
+ul
+  li Custom distributed state machines
+  li Specialized ordering requirements
+  li Performance-critical consensus operations
+  li Application-specific replication logic
+
+p #[strong RAFT Performance Advantages:]
+ul
+  li #[strong Leader-based]: Single node processes operations, eliminating coordination overhead
+  li #[strong Pipeline efficiency]: Leaders process operations without blocking
+  li #[strong Majority consensus]: Only majority nodes required (faster than unanimous)
+  li #[strong Log-based replication]: Efficient state machine replication
+
+h3 RAFT Group Configuration
+
+p RAFT groups are created and managed through RaftManager for specialized processing requirements:
+pre
+  code.
+    // RAFT group configuration for specialized processing
+    public class CustomRaftConfiguration {
+
+        private final RaftManager raftManager;
+        private final ClusterService clusterService;
+        private final String groupId = "custom-processing-group";
+
+        public RaftGroupService createCustomRaftGroup() {
+            ClusterNode localNode = clusterService.topologyService().localMember();
+            RaftNodeId nodeId = new RaftNodeId(groupId, localNode);
+            PeersAndLearners configuration = selectProcessingNodes();
+
+            CustomRaftGroupListener listener = new CustomRaftGroupListener();
+            RaftGroupEventsListener eventsListener = new CustomRaftGroupEventsListener();
+
+            return raftManager.startRaftGroupNode(
+                nodeId,
+                configuration,
+                listener,
+                eventsListener,
+                RaftGroupService::new,
+                createRaftOptionsConfigurer()
+            );
+        }
+
+        private PeersAndLearners selectProcessingNodes() {
+            // Select available cluster nodes for RAFT group
+            List&lt;Peer&gt; peers = clusterService.topologyService().allMembers().stream()
+                .limit(5) // Optimal RAFT group size for consensus
+                .map(node -> new Peer(node.name()))
+                .collect(Collectors.toList());
+
+            // Create learners list (can be empty for basic setup)
+            List&lt;Peer&gt; learners = List.of();
+
+            return PeersAndLearners.fromPeers(peers, learners);
+        }
+
+        private RaftGroupOptionsConfigurer createRaftOptionsConfigurer() {
+            return options -> {
+                // Configure RAFT group options for specialized processing
+                RaftGroupOptions groupOptions = (RaftGroupOptions) options;
+                groupOptions.serverDataPath(Paths.get("/path/to/raft/data"));
+            };
+        }
+    }
+br
+
+h2 Consensus Performance Under High-Velocity Load
+
+h3 RAFT Consensus Performance Impact
+
+p #[strong Standard Transaction Performance:]
+pre
+  code.
+    @Benchmark
+    public class StandardTransactionPerformance {
+
+        @Benchmark
+        public PaymentResult processStandardPayment() {
+            long startTime = System.nanoTime();
+
+            // Standard transaction - RAFT consensus handled automatically
+            PaymentResult result = ignite.transactions().runInTransaction(tx - {
+                // Business logic - Ignite handles distributed consistency
+                return processPaymentLogic(paymentRequest, tx);
+            });
+
+            long processingTime = System.nanoTime() - startTime;
+            // Performance includes automatic RAFT consensus overhead
+
+            return result;
+        }
+    }
+
+p #[strong Standard Operation Performance:]
+ul
+  li #[strong Transaction processing]: Milliseconds range depending on cluster configuration
+  li #[strong Automatic consensus]: Ignite optimizes RAFT for table operations
+  li #[strong Developer simplicity]: No consensus code required
+  li #[strong Throughput]: Scales with cluster capacity
+
+p #[strong Advanced RAFT Performance] (when using direct control):
+ul
+  li #[strong Custom processing]: Microseconds for specialized logic
+  li #[strong Direct consensus]: Application controls consensus behavior
+  li #[strong Specialized optimization]: Custom performance tuning possible
+  li #[strong Complex workflows]: Multi-step distributed operations
+
+h3 Handling Network Partitions During High Load
+
+p #[strong Partition Tolerance in Distributed Processing:]
+pre
+  code.
+    public class RaftPartitionHandling {
+
+        private final RaftGroupService raftGroupService;
+        private final ClusterService clusterService;
+
+        public CompletableFuture&lt;String&gt; handleOperationDuringPartition(String operationData) {
+            // RAFT automatically handles network partitions through leader-based consensus
+            Peer currentLeader = raftGroupService.leader();
+
+            if (currentLeader != null && isNodeInCluster()) {
+                // This node can communicate with cluster - process operation
+                CustomCommand command = new CustomCommand(operationData);
+                return raftGroupService.run(command)
+                    .thenApply(result -> "Operation completed: " + result);
+            } else {
+                // This node is isolated or no leader available - reject operation
+                return CompletableFuture.completedFuture("Operation temporarily unavailable");
+            }
+        }
+
+        private boolean isNodeInCluster() {
+            // Check if this node is still part of the active cluster topology
+            ClusterNode localNode = clusterService.topologyService().localMember();
+            Collection&lt;ClusterNode&gt; allMembers = clusterService.topologyService().allMembers();
+
+            return allMembers.contains(localNode);
+        }
+
+        // Custom command implementation for RAFT processing
+        public static class CustomCommand implements Command {
+            private final String data;
+
+            public CustomCommand(String data) {
+                this.data = data;
+            }
+
+            public String getData() {
+                return data;
+            }
+        }
+    }
+
+p #[strong Partition Behavior:]
+ul
+  li #[strong Majority partition]: Continues processing operations with full consistency
+  li #[strong Minority partition]: Stops processing to prevent split-brain scenarios
+  li #[strong Recovery]: Partitions automatically reconcile when network heals
+  li #[strong Data safety]: No data loss or duplication across partitions
+
+h3 Leader Election Performance
+
+p #[strong Fast Leader Election for Business Continuity:]
+pre
+  code.
+    public class RaftLeaderElection {
+
+        public void handleLeaderFailureDuringPeakLoad() {
+            // RAFT leader election for distributed processing
+            long electionStart = System.currentTimeMillis();
+
+            raftGroup.refreshLeader().thenAccept(newLeader -> {
+                long electionTime = System.currentTimeMillis() - electionStart;
+
+                // Election time depends on network conditions and RAFT configuration
+                log.info("Leader election completed in {}ms", electionTime);
+
+                // Resume processing immediately
+                resumeProcessing(newLeader);
+            });
+        }
+
+        private void resumeProcessing(Peer newLeader) {
+            // New leader immediately continues from RAFT log state
+            // No data loss or inconsistency during leadership change
+            log.info("Processing resumed under new leader: {}", newLeader.consistentId());
+        }
+    }
+
+p #[strong Leader Election Characteristics:]
+ul
+  li #[strong Election time]: Configurable based on network conditions and RAFT settings
+  li #[strong Service continuity]: Processing resumes immediately after election
+  li #[strong Data consistency]: All committed operations preserved across leader changes
+  li #[strong Automatic recovery]: No manual intervention required
+br
+
+h2 Real-World Consensus Scenarios
+
+h3 Bank Payment Processing Under Load
+
+p #[strong Daily Payment Volume]: 1 million payments across 24 hours
+p #[strong Standard Bank Payment Processing:]
+pre
+  code.
+    // Bank payment processing - Ignite handles RAFT automatically
+    @Service
+    public class BankPaymentProcessor {
+
+        public PaymentResult processInterBankTransfer(TransferRequest transfer) {
+            // Standard transaction processing with automatic consistency
+            return ignite.transactions().runInTransaction(tx -> {
+                Table senderAccounts = ignite.tables().table("sender_accounts");
+                Table receiverAccounts = ignite.tables().table("receiver_accounts");
+                Table auditLog = ignite.tables().table("audit_log");
+
+                // Atomic transfer with automatic RAFT consensus
+                Tuple senderKey = Tuple.create().set("account_id", transfer.senderAccountId);
+                Tuple senderAccount = senderAccounts.recordView().get(tx, senderKey);
+
+                if (senderAccount.decimalValue("balance").compareTo(transfer.amount) < 0) {
+                    return PaymentResult.INSUFFICIENT_FUNDS;
+                }
+
+                // Update both accounts atomically with automatic consensus
+                BigDecimal newSenderBalance = senderAccount.decimalValue("balance").subtract(transfer.amount);
+                senderAccounts.recordView().upsert(tx,
+                    Tuple.create()
+                        .set("account_id", transfer.senderAccountId)
+                        .set("balance", newSenderBalance));
+
+                receiverAccounts.recordView().upsert(tx,
+                    Tuple.create()
+                        .set("account_id", transfer.receiverAccountId)
+                        .set("balance", transfer.amount));
+
+                // Audit logging with automatic replication
+                auditLog.recordView().insert(tx, createAuditRecord(transfer));
+
+                return PaymentResult.SUCCESS;
+            });
+        }
+    }
+
+p #[strong For Complex Multi-Bank Workflows] (advanced scenarios):
+pre
+  code.
+    // Custom consensus for specialized inter-bank protocols
+    public class AdvancedInterBankProcessor {
+
+        public PaymentResult processComplexInterBankWorkflow(TransferRequest transfer) {
+            // Specialized workflow requiring custom consensus behavior
+            InterBankWorkflowCommand command = new InterBankWorkflowCommand(transfer);
+
+            return paymentRaftGroup.run(command)
+                .thenApply(result -> {
+                    // Custom workflow with specialized consistency requirements
+                    return (PaymentResult) result;
+                });
+        }
+    }
+
+p #[strong Performance Under Peak Load:]
+ul
+  li #[strong Peak hour volume]: 100,000 payments/hour (27/second average, 200/second peak)
+  li #[strong Consensus latency]: Depends on network and storage configuration
+  li #[strong System availability]: High availability through RAFT consensus and automatic failover
+  li #[strong Regulatory compliance]: Guaranteed transaction ordering accuracy
+
+h3 E-commerce Order Processing
+
+p #[strong Flash Sale Event]: 50,000 orders in 1 hour
+p #[strong Standard Order Processing:]
+pre
+  code.
+    // E-commerce order processing - automatic consistency
+    public class FlashSaleOrderProcessor {
+
+        public OrderResult processFlashSaleOrder(OrderRequest order) {
+            // Standard transaction handling flash sale inventory
+            return ignite.transactions().runInTransaction(tx -> {
+                Table inventory = ignite.tables().table("inventory");
+                Table orders = ignite.tables().table("orders");
+                Table payments = ignite.tables().table("payments");
+
+                // Inventory check with automatic consistency
+                Tuple productKey = Tuple.create().set("product_id", order.productId);
+                Tuple product = inventory.recordView().get(tx, productKey);
+
+                int availableQuantity = product.intValue("quantity");
+                if (availableQuantity < order.quantity) {
+                    return OrderResult.OUT_OF_STOCK;
+                }
+
+                // Atomic inventory update, order creation, payment processing
+                inventory.recordView().upsert(tx,
+                    Tuple.create()
+                        .set("product_id", order.productId)
+                        .set("quantity", availableQuantity - order.quantity));
+
+                orders.recordView().insert(tx, createOrderRecord(order));
+                payments.recordView().insert(tx, createPaymentRecord(order.payment));
+
+                return OrderResult.SUCCESS;
+            });
+        }
+    }
+
+p #[strong For Specialized Inventory Algorithms] (advanced scenarios):
+pre
+  code.
+    // Custom consensus for complex inventory management
+    public class AdvancedInventoryProcessor {
+
+        public OrderResult processWithCustomInventoryLogic(OrderRequest order) {
+            // Specialized inventory workflow requiring custom consensus
+            CustomInventoryCommand command = new CustomInventoryCommand(order);
+            return inventoryRaftGroup.run(command)
+                .thenApply(result -> (OrderResult) result);
+        }
+    }
+
+p #[strong Flash Sale Performance:]
+ul
+  li #[strong Order processing rate]: Scales with cluster capacity and configuration
+  li #[strong Inventory consistency]: Maintained through RAFT consensus (prevents overselling)
+  li #[strong Payment consistency]: Guaranteed through RAFT consensus (prevents duplicate charges)
+  li #[strong Customer experience]: Response time depends on network and processing configuration
+br
+
+h2 Business Impact of Distributed Consistency
+
+h3 Risk Mitigation
+
+p #[strong Financial Risk Reduction:]
+ul
+  li #[strong Payment accuracy]: Eliminates duplicate payments and lost transactions
+  li #[strong Regulatory compliance]: Guaranteed transaction ordering for audit trails
+  li #[strong System reliability]: Automatic failover maintains business continuity
+  li #[strong Data protection]: Strong consistency prevents data corruption
+
+p #[strong Operational Risk Reduction:]
+ul
+  li #[strong Manual intervention]: Consensus automation reduces human error
+  li #[strong System recovery]: Automatic partition healing reduces downtime
+  li #[strong Capacity planning]: Predictable consensus behavior enables accurate sizing
+  li #[strong Incident response]: Built-in fault tolerance reduces emergency responses
+
+h3 Revenue Protection
+
+p #[strong Payment Processing Firm Benefits:]
+ul
+  li #[strong Transaction volume]: Supports high-volume payment processing
+  li #[strong System availability]: RAFT consensus provides automatic failover
+  li #[strong Consistency guarantees]: Eliminates payment errors that damage customer trust
+  li #[strong Scalability]: Horizontal scaling through RAFT group partitioning
+
+p #[strong E-commerce Platform Benefits:]
+ul
+  li #[strong Peak load handling]: Flash sales process high volumes without consistency issues
+  li #[strong Customer trust]: Zero payment errors maintain customer confidence
+  li #[strong Competitive advantage]: Reliable order processing during high-demand events
+  li #[strong Revenue capture]: Consistent order processing vs eventual consistency risks
+
+h3 Operational Efficiency
+
+p #[strong Development Team Benefits:]
+ul
+  li #[strong Simplified architecture]: Single consistency model across all operations
+  li #[strong Reduced debugging]: Strong consistency eliminates race condition bugs
+  li #[strong Faster deployment]: Consensus handles failure scenarios automatically
+  li #[strong Predictable behavior]: Deterministic failure modes simplify testing
+
+p #[strong Operations Team Benefits:]
+ul
+  li #[strong Automated failover]: RAFT consensus reduces manual intervention requirements
+  li #[strong Consistent monitoring]: Single consistency model simplifies observability
+  li #[strong Predictable recovery]: Automated partition healing reduces incident response time
+  li #[strong Scalable operations]: Consensus qscales with cluster size
+br
+
+h2 The Consistency-Performance Balance
+br
+p Traditional distributed systems force trade-offs between consistency and performance. Strong consistency requires coordination overhead. Eventual consistency risks business-critical errors.
+p Apache Ignite's RAFT implementation optimizes for both consistency and performance. Strong consistency guarantees protect business operations while consensus performance supports high-velocity application requirements.
+p #[strong The principle: Consistency should enable performance, not limit it.]
+p When your distributed system maintains strong consistency without significant performance penalties, you eliminate the architectural compromises that force trade-offs between business safety and operational speed.
+p High-velocity applications need both consistency guarantees and performance characteristics. RAFT consensus provides the distributed coordination foundation that enables both requirements simultaneously.
+
+p #[em Return next Tuesday for Part 7, that examines how MVCC transactions build on the RAFT consensus foundation to provide ACID guarantees optimized for high-frequency operations. This ensures that distributed consistency enables rather than constrains transaction processing performance.]
\ No newline at end of file
diff --git a/arch/clustering.html b/arch/clustering.html
index 86491ae390..4c391e90e5 100644
--- a/arch/clustering.html
+++ b/arch/clustering.html
@@ -441,6 +441,7 @@
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/arch/multi-tier-storage.html b/arch/multi-tier-storage.html
index 83dde70c57..77781a9a5e 100644
--- a/arch/multi-tier-storage.html
+++ b/arch/multi-tier-storage.html
@@ -532,6 +532,7 @@
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/arch/native-persistence.html b/arch/native-persistence.html
index b5b5acd968..484e3addcf 100644
--- a/arch/native-persistence.html
+++ b/arch/native-persistence.html
@@ -578,6 +578,7 @@ cfg.setDataStorageConfiguration(storageCfg);</code></pre>
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/blog/1/index.html b/blog/1/index.html
index ede22e1909..0ff1928e0c 100644
--- a/blog/1/index.html
+++ b/blog/1/index.html
@@ -341,6 +341,38 @@
       <div class="blog__content">
         <main class="blog_main">
           <section class="blog__posts">
+            <article class="post">
+              <div class="post__header">
+                <h2><a href="/blog/whats-new-in-apache-ignite-3-0.html">What's New in Apache Ignite 3.0</a></h2>
+                <div>
+                  February 24, 2025 by Stanislav Lukyanov. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/whats-new-in-apache-ignite-3-0.html">Facebook</a><span>, </span
+                  ><a href="http://twitter.com/home?status=What's New in Apache Ignite 3.0%20https://ignite.apache.org/blog/whats-new-in-apache-ignite-3-0.html">Twitter</a>
+                </div>
+              </div>
+              <div class="post__content">
+                <p>
+                  Apache Ignite 3.0 is the latest milestone in Apache Ignite evolution that enhances developer experience, platform resilience, and efficiency. In this article, we’ll explore the key new features and improvements in Apache
+                  Ignite 3.0.
+                </p>
+              </div>
+              <div class="post__footer"><a class="more" href="/blog/whats-new-in-apache-ignite-3-0.html">↓ Read all</a></div>
+            </article>
+            <article class="post">
+              <div class="post__header">
+                <h2><a href="/blog/apache-ignite-2-17-0.html">Apache Ignite 2.17 Release: What’s New</a></h2>
+                <div>
+                  February 13, 2025 by Nikita Amelchev. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-2-17-0.html">Facebook</a><span>, </span
+                  ><a href="http://twitter.com/home?status=Apache Ignite 2.17 Release: What’s New%20https://ignite.apache.org/blog/apache-ignite-2-17-0.html">Twitter</a>
+                </div>
+              </div>
+              <div class="post__content">
+                <p>
+                  We are happy to announce the release of <a href="https://ignite.apache.org/">Apache Ignite </a>2.17.0! In this latest version, the Ignite community has introduced a range of new features and improvements to deliver a more
+                  efficient, flexible, and future-proof platform. Below, we’ll cover the key highlights that you can look forward to when upgrading to the new release.
+                </p>
+              </div>
+              <div class="post__footer"><a class="more" href="/blog/apache-ignite-2-17-0.html">↓ Read all</a></div>
+            </article>
             <article class="post">
               <div class="post__header">
                 <h2><a href="/blog/apache-ignite-net-intel-cet-fix.html">Ignite on .NET 9 and Intel CET</a></h2>
@@ -535,58 +567,6 @@
               </div>
               <div class="post__footer"><a class="more" href="/blog/apache-ignite-momentum-highlights-from.html">↓ Read all</a></div>
             </article>
-            <article class="post">
-              <div class="post__header">
-                <h2><a href="/blog/apache-ignite-2-10-thin.html">Apache Ignite 2.10: Thin Client Expansion</a></h2>
-                <div>
-                  March 18, 2021 by Maxim Muzafarov. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-2-10-thin.html">Facebook</a><span>, </span
-                  ><a href="http://twitter.com/home?status=Apache Ignite 2.10: Thin Client Expansion%20https://ignite.apache.org/blog/apache-ignite-2-10-thin.html">Twitter</a>
-                </div>
-              </div>
-              <div class="post__content">
-                <p class="entryContent">
-                  As of March 15, 2021, <a href="https://ignite.apache.org/">Apache Ignite</a> 2.10 has been released. You can directly check the full list of resolved <a href="https://s.apache.org/i3ny6">Important JIRA&apos;s</a> but here
-                  let&rsquo;s briefly overview some valuable improvements.
-                </p>
-                <h3 id="thin-clients">Thin Clients</h3>
-                Thin clients now support several important features which, previously were available only on the thick clients. Thin clients are always backward and forward compatible with the server nodes of the cluster, so the cluster
-                upgrade process will be more convenient if the lack of these features prevented you from doing that.
-                <p>See the list of what is changed for thin clients below:</p>
-                <ul>
-                  <li>Transactions</li>
-                  <li>Service invocations</li>
-                  <li>Continuous Queries</li>
-                  <li>SQL API</li>
-                  <li>Cluster API</li>
-                  <li>Cache Async API</li>
-                  <li>Kubernetes Discovery (<em>ThinClientKubernetesAddressFinder</em>)</li>
-                </ul>
-                You may check the <a href="https://cwiki.apache.org/confluence/display/IGNITE/Thin+clients+features">List of Thin Client Features</a> that supported by platforms you are interested in or see the
-                <a href="https://ptupitsyn.github.io/Whats-New-In-Ignite-Net-2.10/">What&apos;s new in Apache Ignite.NET 2.10</a>.
-              </div>
-              <div class="post__footer"><a class="more" href="/blog/apache-ignite-2-10-thin.html">↓ Read all</a></div>
-            </article>
-            <article class="post">
-              <div class="post__header">
-                <h2><a href="/blog/apache-ignite-2-9-released.html">Apache Ignite 2.9 Released: Cluster snapshots and tracing</a></h2>
-                <div>
-                  November 5, 2020 by Denis Magda. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-2-9-released.html">Facebook</a><span>, </span
-                  ><a href="http://twitter.com/home?status=Apache Ignite 2.9 Released: Cluster snapshots and tracing%20https://ignite.apache.org/blog/apache-ignite-2-9-released.html">Twitter</a>
-                </div>
-              </div>
-              <div class="post__content">
-                <p>As of October 23, 2020, Apache Ignite 2.9 is available. Like every other Ignite release, release 2.9 includes many changes. Let&apos;s take a look at the major features of release 2.9.</p>
-                <p></p>
-                <h3>Cluster Snapshots</h3>
-                <p></p>
-                <p>
-                  Ignite 2.9 provides the ability to create full cluster snapshots for deployments that use Ignite Persistence. Snapshots can be taken online, when the cluster is active and accessible to users. An Ignite snapshot includes a
-                  cluster-wide copy of all data records that exist at the moment the snapshot is started. All snapshots are consistent &mdash; in terms of concurrent, cluster-wide operations as well as in terms of ongoing changes in Ignite
-                  Persistence data, index, schema, binary metadata, marshaller, and other files on nodes. See <a href="https://ignite.apache.org/docs/latest/persistence/snapshots">Ignite documentation</a> to learn about this feature.
-                </p>
-              </div>
-              <div class="post__footer"><a class="more" href="/blog/apache-ignite-2-9-released.html">↓ Read all</a></div>
-            </article>
           </section>
           <section class="blog__footer">
             <ul class="pagination">
diff --git a/blog/2/index.html b/blog/2/index.html
index a36d9517bd..6be3ffb7af 100644
--- a/blog/2/index.html
+++ b/blog/2/index.html
@@ -341,6 +341,58 @@
       <div class="blog__content">
         <main class="blog_main">
           <section class="blog__posts">
+            <article class="post">
+              <div class="post__header">
+                <h2><a href="/blog/apache-ignite-2-10-thin.html">Apache Ignite 2.10: Thin Client Expansion</a></h2>
+                <div>
+                  March 18, 2021 by Maxim Muzafarov. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-2-10-thin.html">Facebook</a><span>, </span
+                  ><a href="http://twitter.com/home?status=Apache Ignite 2.10: Thin Client Expansion%20https://ignite.apache.org/blog/apache-ignite-2-10-thin.html">Twitter</a>
+                </div>
+              </div>
+              <div class="post__content">
+                <p class="entryContent">
+                  As of March 15, 2021, <a href="https://ignite.apache.org/">Apache Ignite</a> 2.10 has been released. You can directly check the full list of resolved <a href="https://s.apache.org/i3ny6">Important JIRA&apos;s</a> but here
+                  let&rsquo;s briefly overview some valuable improvements.
+                </p>
+                <h3 id="thin-clients">Thin Clients</h3>
+                Thin clients now support several important features which, previously were available only on the thick clients. Thin clients are always backward and forward compatible with the server nodes of the cluster, so the cluster
+                upgrade process will be more convenient if the lack of these features prevented you from doing that.
+                <p>See the list of what is changed for thin clients below:</p>
+                <ul>
+                  <li>Transactions</li>
+                  <li>Service invocations</li>
+                  <li>Continuous Queries</li>
+                  <li>SQL API</li>
+                  <li>Cluster API</li>
+                  <li>Cache Async API</li>
+                  <li>Kubernetes Discovery (<em>ThinClientKubernetesAddressFinder</em>)</li>
+                </ul>
+                You may check the <a href="https://cwiki.apache.org/confluence/display/IGNITE/Thin+clients+features">List of Thin Client Features</a> that supported by platforms you are interested in or see the
+                <a href="https://ptupitsyn.github.io/Whats-New-In-Ignite-Net-2.10/">What&apos;s new in Apache Ignite.NET 2.10</a>.
+              </div>
+              <div class="post__footer"><a class="more" href="/blog/apache-ignite-2-10-thin.html">↓ Read all</a></div>
+            </article>
+            <article class="post">
+              <div class="post__header">
+                <h2><a href="/blog/apache-ignite-2-9-released.html">Apache Ignite 2.9 Released: Cluster snapshots and tracing</a></h2>
+                <div>
+                  November 5, 2020 by Denis Magda. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-2-9-released.html">Facebook</a><span>, </span
+                  ><a href="http://twitter.com/home?status=Apache Ignite 2.9 Released: Cluster snapshots and tracing%20https://ignite.apache.org/blog/apache-ignite-2-9-released.html">Twitter</a>
+                </div>
+              </div>
+              <div class="post__content">
+                <p>As of October 23, 2020, Apache Ignite 2.9 is available. Like every other Ignite release, release 2.9 includes many changes. Let&apos;s take a look at the major features of release 2.9.</p>
+                <p></p>
+                <h3>Cluster Snapshots</h3>
+                <p></p>
+                <p>
+                  Ignite 2.9 provides the ability to create full cluster snapshots for deployments that use Ignite Persistence. Snapshots can be taken online, when the cluster is active and accessible to users. An Ignite snapshot includes a
+                  cluster-wide copy of all data records that exist at the moment the snapshot is started. All snapshots are consistent &mdash; in terms of concurrent, cluster-wide operations as well as in terms of ongoing changes in Ignite
+                  Persistence data, index, schema, binary metadata, marshaller, and other files on nodes. See <a href="https://ignite.apache.org/docs/latest/persistence/snapshots">Ignite documentation</a> to learn about this feature.
+                </p>
+              </div>
+              <div class="post__footer"><a class="more" href="/blog/apache-ignite-2-9-released.html">↓ Read all</a></div>
+            </article>
             <article class="post">
               <div class="post__header">
                 <h2><a href="/blog/ignite-2-8-released-less.html">Ignite 2.8 Released: Less Stress in Production and Advances in Machine Learning</a></h2>
@@ -539,61 +591,6 @@
               </div>
               <div class="post__footer"><a class="more" href="/blog/apache-ignite-2-3-more.html">↓ Read all</a></div>
             </article>
-            <article class="post">
-              <div class="post__header">
-                <h2><a href="/blog/apache-ignite-community-news-september.html">Apache Ignite Community News (Issue 3)</a></h2>
-                <div>
-                  September 15, 2017 by Denis Magda. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-community-news-september.html">Facebook</a><span>, </span
-                  ><a href="http://twitter.com/home?status=Apache Ignite Community News (Issue 3)%20https://ignite.apache.org/blog/apache-ignite-community-news-september.html">Twitter</a>
-                </div>
-              </div>
-              <div class="post__content">
-                <p><b>by Tom Diederich</b></p>
-                <p>This is our third community update &ndash; there&rsquo;s a lot going on, so let&apos;s get started.</p>
-                <p>Apache Ignite experts have already spoken at two meetups this month, both in Silicon Valley, but there are several more scheduled this month around the world.</p>
-                <p></p>
-                <p style="margin-bottom: 15pt">
-                  <span style="line-height: 19.5pt"
-                    ><span style="font-family: Helvetica"
-                      ><span style="color: #333333"
-                        >On <b>Sept. 9</b> Apache Ignite PMC chair Denis Magda was the featured presenter at the<b> </b
-                        ><a href="https://www.meetup.com/datariders/events/242523245/"
-                          ><b><span style="color: #467d76">Big Data and Cloud Meetup</span></b></a
-                        >
-                        in Santa Clara, Calif. His talk, titled &quot;Apache Spark and Apache Ignite: Where Fast Data Meets the IoT,&quot; was highly rated and we&rsquo;re planning a hands-on workshop with meetup organizers for
-                        November.</span
-                      ></span
-                    ></span
-                  >
-                </p>
-              </div>
-              <div class="post__footer"><a class="more" href="/blog/apache-ignite-community-news-september.html">↓ Read all</a></div>
-            </article>
-            <article class="post">
-              <div class="post__header">
-                <h2><a href="/blog/apache-ignite-community-update-august.html">Apache Ignite Community Update (August 2017 Issue)</a></h2>
-                <div>
-                  August 30, 2017 by Denis Magda. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-community-update-august.html">Facebook</a><span>, </span
-                  ><a href="http://twitter.com/home?status=Apache Ignite Community Update (August 2017 Issue)%20https://ignite.apache.org/blog/apache-ignite-community-update-august.html">Twitter</a>
-                </div>
-              </div>
-              <div class="post__content">
-                <p>
-                  <b><i>by Tom Diederich</i></b>
-                </p>
-                <p>
-                  Igniters, here are some community highlights from the last couple week. If I missed anything, please share it here. Meetups! Did you know that Apache Ignite experts are available to speak at your meetup? And we also have
-                  spots open for YOU to speak at the following meetups that some of us co-organize:
-                </p>
-                <ul>
-                  <li><a href="https://www.meetup.com/Apache-Ignite-London/" target="_blank">Apache Ignite London</a></li>
-                  <li><a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/" target="_blank">Bay Area In-Memory Computing Meetup</a></li>
-                  <li><a href="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/" target="_blank">NYC In-Memory Computing Meetup</a></li>
-                  <li><a href="https://www.meetup.com/Moscow-Apache-Ignite-Meetup/" target="_blank">Moscow Apache Ignite Meetup</a></li>
-                </ul>
-              </div>
-              <div class="post__footer"><a class="more" href="/blog/apache-ignite-community-update-august.html">↓ Read all</a></div>
-            </article>
           </section>
           <section class="blog__footer">
             <ul class="pagination">
diff --git a/blog/3/index.html b/blog/3/index.html
index 0490ff0c32..2f91cd9511 100644
--- a/blog/3/index.html
+++ b/blog/3/index.html
@@ -341,6 +341,61 @@
       <div class="blog__content">
         <main class="blog_main">
           <section class="blog__posts">
+            <article class="post">
+              <div class="post__header">
+                <h2><a href="/blog/apache-ignite-community-news-september.html">Apache Ignite Community News (Issue 3)</a></h2>
+                <div>
+                  September 15, 2017 by Denis Magda. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-community-news-september.html">Facebook</a><span>, </span
+                  ><a href="http://twitter.com/home?status=Apache Ignite Community News (Issue 3)%20https://ignite.apache.org/blog/apache-ignite-community-news-september.html">Twitter</a>
+                </div>
+              </div>
+              <div class="post__content">
+                <p><b>by Tom Diederich</b></p>
+                <p>This is our third community update &ndash; there&rsquo;s a lot going on, so let&apos;s get started.</p>
+                <p>Apache Ignite experts have already spoken at two meetups this month, both in Silicon Valley, but there are several more scheduled this month around the world.</p>
+                <p></p>
+                <p style="margin-bottom: 15pt">
+                  <span style="line-height: 19.5pt"
+                    ><span style="font-family: Helvetica"
+                      ><span style="color: #333333"
+                        >On <b>Sept. 9</b> Apache Ignite PMC chair Denis Magda was the featured presenter at the<b> </b
+                        ><a href="https://www.meetup.com/datariders/events/242523245/"
+                          ><b><span style="color: #467d76">Big Data and Cloud Meetup</span></b></a
+                        >
+                        in Santa Clara, Calif. His talk, titled &quot;Apache Spark and Apache Ignite: Where Fast Data Meets the IoT,&quot; was highly rated and we&rsquo;re planning a hands-on workshop with meetup organizers for
+                        November.</span
+                      ></span
+                    ></span
+                  >
+                </p>
+              </div>
+              <div class="post__footer"><a class="more" href="/blog/apache-ignite-community-news-september.html">↓ Read all</a></div>
+            </article>
+            <article class="post">
+              <div class="post__header">
+                <h2><a href="/blog/apache-ignite-community-update-august.html">Apache Ignite Community Update (August 2017 Issue)</a></h2>
+                <div>
+                  August 30, 2017 by Denis Magda. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-community-update-august.html">Facebook</a><span>, </span
+                  ><a href="http://twitter.com/home?status=Apache Ignite Community Update (August 2017 Issue)%20https://ignite.apache.org/blog/apache-ignite-community-update-august.html">Twitter</a>
+                </div>
+              </div>
+              <div class="post__content">
+                <p>
+                  <b><i>by Tom Diederich</i></b>
+                </p>
+                <p>
+                  Igniters, here are some community highlights from the last couple week. If I missed anything, please share it here. Meetups! Did you know that Apache Ignite experts are available to speak at your meetup? And we also have
+                  spots open for YOU to speak at the following meetups that some of us co-organize:
+                </p>
+                <ul>
+                  <li><a href="https://www.meetup.com/Apache-Ignite-London/" target="_blank">Apache Ignite London</a></li>
+                  <li><a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/" target="_blank">Bay Area In-Memory Computing Meetup</a></li>
+                  <li><a href="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/" target="_blank">NYC In-Memory Computing Meetup</a></li>
+                  <li><a href="https://www.meetup.com/Moscow-Apache-Ignite-Meetup/" target="_blank">Moscow Apache Ignite Meetup</a></li>
+                </ul>
+              </div>
+              <div class="post__footer"><a class="more" href="/blog/apache-ignite-community-update-august.html">↓ Read all</a></div>
+            </article>
             <article class="post">
               <div class="post__header">
                 <h2><a href="/blog/apache-ignite-2-1-a.html">Apache Ignite 2.1 - A Leap from In-Memory to Memory-Centric Architecture</a></h2>
diff --git a/blog/apache-ignite-3-architecture-part-6.html b/blog/apache-ignite-3-architecture-part-6.html
new file mode 100644
index 0000000000..299e56e240
--- /dev/null
+++ b/blog/apache-ignite-3-architecture-part-6.html
@@ -0,0 +1,980 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1" />
+    <title>Apache Ignite Architecture Series: Part 6 - Distributed Consistency Under Load: When High-Velocity Meets High-Availability</title>
+    <link rel="stylesheet" href="/js/vendor/hystmodal/hystmodal.min.css?ver=0.9" />
+    <link rel="stylesheet" href="/css/utils.css?ver=0.9" />
+    <link rel="stylesheet" href="/css/site.css?ver=0.9" />
+    <link rel="stylesheet" href="../css/blog.css?ver=0.9" />
+    <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
+    <link rel="icon" type="image/png" href="/img/favicon.png" />
+    <!-- Matomo -->
+    <script>
+      var _paq = (window._paq = window._paq || []);
+      /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
+      _paq.push(['setDoNotTrack', true]);
+      _paq.push(['disableCookies']);
+      _paq.push(['trackPageView']);
+      _paq.push(['enableLinkTracking']);
+      (function () {
+        var u = 'https://analytics.apache.org/';
+        _paq.push(['setTrackerUrl', u + 'matomo.php']);
+        _paq.push(['setSiteId', '77']);
+        var d = document,
+          g = d.createElement('script'),
+          s = d.getElementsByTagName('script')[0];
+        g.async = true;
+        g.src = u + 'matomo.js';
+        s.parentNode.insertBefore(g, s);
+      })();
+    </script>
+    <!-- End Matomo Code -->
+  </head>
+  <body>
+    <!-- MOBILE MENU START-->
+    <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
+      <div class="hystmodal__wrap">
+        <div class="hystmodal__window mobmenu" role="dialog" aria-modal="true">
+          <button class="hystmodal__close" data-hystclose="">Close</button>
+          <div class="mobmenu__wrap">
+            <a class="mobmenu__logo" href="/"><img src="/img/logo.svg" alt="Logo" /></a>
+            <div class="mobmenu__menu">
+              <ul>
+                <li><a href="/docs/latest/">Quick Start</a></li>
+                <li><a href="/resources.html#learning">Learning resources</a></li>
+                <li><a href="/resources.html#training">Training and Courses</a></li>
+                <li><a href="/faq.html">FAQ</a></li>
+                <li>
+                  <span class="mobmenu__parent"><a href="/use-cases.html">Use Cases</a><button class="mobmenu__opener"></button></span>
+                  <ul>
+                    <li><a href="/use-cases/in-memory-cache.html">In-Memory Cache</a></li>
+                    <li><a href="/use-cases/in-memory-data-grid.html">In-Memory Data Grid</a></li>
+                    <li><a href="/use-cases/in-memory-database.html">In-Memory Database</a></li>
+                    <li><a href="/use-cases/key-value-store.html">Key-Value Store</a></li>
+                    <li><a href="/use-cases/high-performance-computing.html">High Performance Computing</a></li>
+                    <li><a href="/use-cases/digital-integration-hub.html">Digital Integration Hub</a></li>
+                    <li><a href="/use-cases/spark-acceleration.html">Spark Acceleration</a></li>
+                    <li><a href="/use-cases/hadoop-acceleration.html">Hadoop Acceleration</a></li>
+                    <li><a href="/use-cases.html">View All</a></li>
+                  </ul>
+                </li>
+                <li>
+                  <span class="mobmenu__parent"><a href="/features/">Features</a><button class="mobmenu__opener"></button></span>
+                  <ul>
+                    <li><a href="/arch/multi-tier-storage.html">Multi-Tier Storage</a></li>
+                    <li><a href="/arch/native-persistence.html">Native Persistence</a></li>
+                    <li><a href="/features/sql.html">Distributed SQL</a></li>
+                    <li><a href="/features/key-value-apis.html">Key-Value APIs</a></li>
+                    <li><a href="/features/acid-transactions.html">ACID Transactions</a></li>
+                    <li><a href="/features/compute-apis.html">Compute APIs</a></li>
+                    <li><a href="/features/service-apis.html">Services</a></li>
+                    <li><a href="/features/machinelearning.html">Machine Learning</a></li>
+                    <li><a href="/features/streaming.html">Real-Time Streaming APIs</a></li>
+                    <li><a href="/docs/latest/messaging">Messaging</a></li>
+                    <li><a href="/docs/latest/key-value-api/continuous-queries">Continuous Queries</a></li>
+                    <li><a href="/features/index.html">View All</a></li>
+                  </ul>
+                </li>
+                <li>
+                  <a href="/community.html">Community</a>
+                  <ul class="isdefault">
+                    <li><a href="/community.html">Project Info</a></li>
+                    <li><a href="/events.html">Events</a></li>
+                  </ul>
+                </li>
+                <li><a href="/use-cases/provenusecases.html">Powered by</a></li>
+                <li><a href="/resources.html">Resources</a></li>
+                <li><a href="/blog/">Blog</a></li>
+                <li><a href="/docs/latest/">Docs</a></li>
+              </ul>
+              <a class="button mobmenu__button" href="/download.cgi">Download Ignite</a>
+            </div>
+            <!-- //mobmenu__menu-->
+          </div>
+          <!-- //mobmenu__wrap-->
+        </div>
+        <!-- //mobmenu-->
+      </div>
+    </div>
+    <!-- MOBILE MENU END-->
+    <header class="hdr hdr__white jsHdrBase">
+      <div class="jsHdrLine">
+        <div id="promotion-bar">
+          <a
+            href="https://ignite-summit.org/2025/?utm_medium=website-direct&amp;utm_source=apache_ignite&amp;utm_term=ignite-summit&amp;utm_content=event-hosted&amp;utm_campaign=2023-06-06-ignite-summit-nam"
+            target="_blank"
+            title="Ignite Summit 2025"
+            rel="noopener noreferrer"
+            >Ignite Summit 2025 — Watch on demand &nbsp;<span class="more d-none d-lg-block"><img src="/images/promos/arrow-white.svg" /></span
+          ></a>
+        </div>
+        <div class="hdr__wrap flexi">
+          <button class="hdr__burger" data-menumodal="#jsMenuModal"><img src="/img/menu.svg" alt="" /></button
+          ><a class="hdr__logo" href="/"><img class="hdr__logoimg hdr__logo--white" src="/img/logo-white.svg" alt="" /><img class="hdr__logoimg hdr__logo--black" src="/img/logo.svg" alt="" /></a
+          ><a class="button hdr__button" href="/download.cgi">Download Ignite</a>
+          <nav class="hdrmenu">
+            <ul class="flexi">
+              <li class="js-hasdrop"><a class="hdrmenu--expanded" href="/" data-panel="getStarted">Get Started</a></li>
+              <li class="js-hasdrop"><a class="hdrmenu--expanded" href="/features" data-panel="features">Features</a></li>
+              <li class="js-hasdrop"><a class="hdrmenu--expanded" href="/community.html" data-panel="community">Community</a></li>
+              <li><a href="/use-cases/provenusecases.html" data-panel="">Powered By</a></li>
+              <li class="js-hasdrop"><a class="hdrmenu--expanded" href="/resources.html" data-panel="resources">Resources</a></li>
+              <li><a href="///ignite.apache.org/docs/latest/" data-panel="">Docs</a></li>
+            </ul>
+          </nav>
+          <div class="dropmenu">
+            <div class="dropmenu__panel" data-menupanel="getStarted">
+              <div class="container dropmenu1__grid">
+                <div class="dropmenu1__buttonwrap">&nbsp;</div>
+                <div class="dropmenu__box dropmenu__box--buttonin">
+                  <a class="dropmenu__redbutton" href="https://ignite.apache.org/docs/latest/"> <img src="/img/menu/icon-red-rocket.svg" alt="" /><span>Quick Start Guide</span></a>
+                  <ul class="dropmenu__menu">
+                    <li>
+                      <a class="dropmenu__iconitem" href="/resources.html#learning"><span>Learning resources</span></a>
+                    </li>
+                    <li>
+                      <a class="dropmenu__iconitem" href="/resources.html#training"><span>Training and Courses</span></a>
+                    </li>
+                    <li>
+                      <a class="dropmenu__iconitem" href="/faq.html"><span>FAQ</span></a>
+                    </li>
+                  </ul>
+                </div>
+                <div class="dropmenu__box">
+                  <p class="capstext"><a class="dropmenu__capslink" href="/use-cases.html">USE CASES</a></p>
+                  <ul class="dropmenu__menu">
+                    <li>
+                      <a class="dropmenu__iconitem" href="/use-cases/in-memory-cache.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>In-Memory Cache</span></a>
+                    </li>
+                    <li>
+                      <a class="dropmenu__iconitem" href="/use-cases/in-memory-data-grid.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>In-Memory Data Grid</span></a>
+                    </li>
+                    <li>
+                      <a class="dropmenu__iconitem" href="/use-cases/in-memory-database.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>In-Memory Database</span></a>
+                    </li>
+                    <li>
+                      <a class="dropmenu__iconitem" href="/use-cases/key-value-store.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>Key-Value Store</span></a>
+                    </li>
+                  </ul>
+                </div>
+                <div class="dropmenu__box no-border">
+                  <ul class="dropmenu__menu">
+                    <li>
+                      <a class="dropmenu__iconitem" href="/use-cases/high-performance-computing.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>High-Performance Computing</span></a>
+                    </li>
+                    <li>
+                      <a class="dropmenu__iconitem" href="/use-cases/digital-integration-hub.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>Digital Integration Hub</span></a>
+                    </li>
+                    <li>
+                      <a class="dropmenu__iconitem" href="/use-cases/spark-acceleration.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>Spark Acceleration</span></a>
+                    </li>
+                    <li>
+                      <a class="dropmenu__iconitem" href="/use-cases/hadoop-acceleration.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>Hadoop Acceleration</span></a>
+                    </li>
+                  </ul>
+                </div>
+              </div>
+              <!-- /.dropmenu1__grid-->
+              <div class="panelmorelinkwrap panelmorelinkwrap--end container"><a class="panellink" href="/use-cases.html">View all</a></div>
+            </div>
+            <!-- /.dropmenu__panel-->
+            <div class="dropmenu__panel" data-menupanel="features">
+              <div class="container dropmenu2__grid">
+                <div class="dropmenu__box">
+                  <div class="capstext">MULTI-TIER STORAGE</div>
+                  <ul class="dropmenu__menu">
+                    <li>
+                      <a class="dropmenu__iconitem" href="/arch/multi-tier-storage.html"><img src="/img/menu/icon-db.svg" alt="" /><span>Multi-Tier Storage</span></a>
+                    </li>
+                    <li>
+                      <a class="dropmenu__iconitem" href="/arch/native-persistence.html"><img src="/img/menu/icon-db.svg" alt="" /><span>Native Persistence</span></a>
+                    </li>
+                  </ul>
+                </div>
+                <div class="dropmenu__box">
+                  <div class="capstext">ESSENTIAL Developer APIs</div>
+                  <ul class="dropmenu__menu">
+                    <li>
+                      <a class="dropmenu__iconitem" href="/features/sql.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Distributed SQL</span></a>
+                    </li>
+                    <li>
+                      <a class="dropmenu__iconitem" href="/features/key-value-apis.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Key-Value APIs</span></a>
+                    </li>
+                    <li>
+                      <a class="dropmenu__iconitem" href="/features/acid-transactions.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>ACID Transactions</span></a>
+                    </li>
+                  </ul>
+                </div>
+                <div class="dropmenu__box">
+                  <div class="capstext">High-Performance <br />Computing APIs</div>
+                  <ul class="dropmenu__menu">
+                    <li>
+                      <a class="dropmenu__iconitem" href="/features/compute-apis.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Compute APIs</span></a>
+                    </li>
+                    <li>
+                      <a class="dropmenu__iconitem" href="/features/service-apis.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Services</span></a>
+                    </li>
+                    <li>
+                      <a class="dropmenu__iconitem" href="/features/machinelearning.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Machine Learning</span></a>
+                    </li>
+                  </ul>
+                </div>
+                <div class="dropmenu__box">
+                  <div class="capstext">Real-Streaming APIs</div>
+                  <ul class="dropmenu__menu">
+                    <li>
+                      <a class="dropmenu__iconitem" href="/features/streaming.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Real-Time Streaming APIs</span></a>
+                    </li>
+                    <li>
+                      <a class="dropmenu__iconitem" href="https://ignite.apache.org/docs/latest/messaging"><img src="/img/menu/icon-cube.svg" alt="" /><span>Messaging</span></a>
+                    </li>
+                    <li>
+                      <a class="dropmenu__iconitem" href="https://ignite.apache.org/docs/latest/key-value-api/continuous-queries"><img src="/img/menu/icon-cube.svg" alt="" /><span>Continuous Queries</span></a>
+                    </li>
+                  </ul>
+                </div>
+              </div>
+              <!-- /.dropmenu2__grid-->
+              <div class="panelmorelinkwrap"><a class="panellink" href="/features/">View all</a></div>
+            </div>
+            <!-- /.dropmenu__panel-2-->
+            <div class="dropmenu__panel" data-menupanel="community">
+              <div class="container dropmenu3__grid">
+                <div class="dropmenu__box">
+                  <div class="capstext"><a class="dropmenu__capslink" href="/community.html">Project Info</a></div>
+                  <ul class="dropmenu__menu">
+                    <li>
+                      <a class="dropmenu__iconitem" href="/community.html#story"><img src="/img/menu/icon-clip.svg" alt="" /><span>Apache Ignite Story</span></a>
+                    </li>
+                    <li>
+                      <a class="dropmenu__iconitem" href="/community.html#community"><img src="/img/menu/icon-comment.svg" alt="" /><span>Meet The Community</span></a>
+                    </li>
+                  </ul>
+                </div>
+                <div class="dropmenu__box no-border">
+                  <div class="capstext">&nbsp;</div>
+                  <ul class="dropmenu__menu">
+                    <li>
+                      <a class="dropmenu__iconitem" href="/community.html#contributing"><img src="/img/menu/icon-puzzle.svg" alt="" /><span>Start Contributing</span></a>
+                    </li>
+                    <li>
+                      <a class="dropmenu__iconitem" href="/community.html#faq"><img src="/img/menu/icon-question.svg" alt="" /><span>Ask Questions</span></a>
+                    </li>
+                  </ul>
+                </div>
+                <div class="dropmenu__box">
+                  <div class="capstext"><a class="dropmenu__capslink" href="/events.html">Events</a></div>
+                  <ul class="dropmenu__menu">
+                    <li>
+                      <a class="dropmenu__iconitem" href="/events.html#summit"><img src="/img/menu/icon-calendar.svg" alt="" /><span>Apache Ignite Summit</span></a>
+                    </li>
+                    <li>
+                      <a class="dropmenu__iconitem" href="/events.html#meetups"><img src="/img/menu/icon-calendar.svg" alt="" /><span>Meetups</span></a>
+                    </li>
+                  </ul>
+                </div>
+                <div class="dropmenu__box no-border">
+                  <div class="capstext">&nbsp;</div>
+                  <ul class="dropmenu__menu">
+                    <li>
+                      <a class="dropmenu__iconitem" href="/events.html#upcoming"><img src="/img/menu/icon-calendar.svg" alt="" /><span>Upcoming Events</span></a>
+                    </li>
+                    <li>
+                      <a class="dropmenu__iconitem" href="/events.html#past"><img src="/img/menu/icon-calendar.svg" alt="" /><span>Past Events</span></a>
+                    </li>
+                  </ul>
+                </div>
+              </div>
+              <!-- /.dropmenu3__grid-->
+            </div>
+            <!-- /.dropmenu__panel-->
+            <div class="dropmenu__panel" data-menupanel="resources">
+              <div class="container dropmenu1__grid">
+                <div class="dropmenu1__buttonwrap">&nbsp;</div>
+                <div class="dropmenu__box dropmenu__box--buttonin">
+                  <a class="dropmenu__redbutton blog" href="/blog/"><img src="/img/menu/icon-blog.svg" alt="" /><span>Blog</span></a>
+                  <ul class="dropmenu__menu">
+                    <li>
+                      <a class="dropmenu__iconitem" href="/resources.html#technical"><span>Technical resources</span></a>
+                    </li>
+                    <li>
+                      <a class="dropmenu__iconitem" href="/resources.html#learning"><span>Learning resources</span></a>
+                    </li>
+                  </ul>
+                </div>
+                <div class="dropmenu__box blog">
+                  <ul class="dropmenu__menu">
+                    <li>
+                      <a class="dropmenu__iconitem" href="/resources.html#training"><span>Training and Courses</span></a>
+                    </li>
+                    <li>
+                      <a class="dropmenu__iconitem" href="/resources.html#book"><span>Apache Ignite Book</span></a>
+                    </li>
+                    <li>
+                      <a class="dropmenu__iconitem" href="/resources.html#mail"><span>Mailing Lists, Forums And Discussion Archives</span></a>
+                    </li>
+                    <li>
+                      <a class="dropmenu__iconitem" href="/faq.html"><span>FAQ</span></a>
+                    </li>
+                  </ul>
+                </div>
+              </div>
+              <!-- /.dropmenu1__grid-->
+            </div>
+            <!-- /.dropmenu__panel-->
+          </div>
+          <!-- /.dropmeu-->
+        </div>
+      </div>
+    </header>
+    <div class="dropmenu__back"></div>
+    <header class="hdrfloat hdr__white jsHdrFloatBase"></header>
+    <div class="container blog">
+      <section class="blog__header post_page__header">
+        <a href="/blog/">← Apache Ignite Blog</a>
+        <h1>Apache Ignite Architecture Series: Part 6 - Distributed Consistency Under Load: When High-Velocity Meets High-Availability</h1>
+        <p>
+          December 30, 2025 by <strong>Michael Aglietti. Share in </strong><a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/undefined">Facebook</a><span>, </span
+          ><a href="http://twitter.com/home?status=Apache Ignite Architecture Series: Part 6 - Distributed Consistency Under Load: When High-Velocity Meets High-Availability%20https://ignite.apache.org/blog/undefined">Twitter</a>
+        </p>
+      </section>
+      <div class="blog__content">
+        <main class="blog_main">
+          <section class="blog__posts">
+            <article class="post">
+              <div>
+                <p>
+                  Distributed systems traditionally force a choice between consistency and speed. Apache Ignite's RAFT implementation delivers both: strong guarantees that protect your business without the coordination penalties that limit
+                  throughput.
+                </p>
+                <!-- end -->
+                <p>When network partitions split your cluster, duplicate payments happen. Apache Ignite prevents this through automatic coordination that maintains consistency without performance penalties.</p>
+                <p>
+                  <strong>Business scenario:</strong> Your payment processing system handles 10,000 transactions per second across 5 nodes. Network issues isolate 2 nodes from the remaining 3 nodes. Both groups continue processing payments.
+                  Customer payment gets charged twice.
+                </p>
+                <p>
+                  <strong>The solution:</strong> Automatic consensus ensures only one group can process payments during network splits. Your application code stays simple while the platform handles distributed coordination automatically.
+                </p>
+                <p><strong>Performance guarantee:</strong> Consensus happens in the background without blocking transaction processing.</p>
+                <br />
+                <h2>Business Problems from Inconsistent Data</h2>
+                <h3>Duplicate Payment Scenario</h3>
+                <p>Network partitions create business-critical consistency problems:</p>
+                <p><strong>What happens during network partition without proper coordination:</strong></p>
+                <pre><code>// Network partition splits payment cluster
+// Both partitions continue processing payments independently
+// Partition A (3 nodes) processes payment:
+PaymentResult resultA = processPayment(payment); // SUCCESS: Balance updated to $500
+// Partition B (2 nodes) processes same payment:
+PaymentResult resultB = processPayment(payment); // SUCCESS: Balance updated to $500
+// When network heals: customer charged twice, balance corrupted
+// Expected: $500 final balance
+// Actual: $0 final balance (double charge)
+</code></pre>
+                <p><strong>Business impact of consistency failures:</strong></p>
+                <ul>
+                  <li><strong>Customer complaints</strong>: Duplicate charges from partition processing</li>
+                  <li><strong>Financial exposure</strong>: Regulatory penalties for transaction sequence errors</li>
+                  <li><strong>System downtime</strong>: Manual reconciliation required when partitions heal</li>
+                  <li><strong>Business risk</strong>: Revenue loss during extended partition scenarios</li>
+                </ul>
+                <h3>Why Traditional Solutions Fail</h3>
+                <p><strong>Performance penalty:</strong> Traditional consensus adds 20-50ms to every transaction through multiple network round-trips. At 10,000 payments per second, this creates a 200-500 second processing backlog.</p>
+                <p><strong>Failure problems:</strong></p>
+                <ul>
+                  <li><strong>Network delays</strong>: Every transaction requires multiple round-trips to all nodes</li>
+                  <li><strong>Processing blocks</strong>: All nodes wait for slowest participant</li>
+                  <li><strong>Failure stops processing</strong>: Single node failure blocks all transactions</li>
+                  <li><strong>Partition stops everything</strong>: Network partition stops all processing</li>
+                </ul>
+                <br />
+                <h2>Apache Ignite Automatic Coordination Solution</h2>
+                <h3>Zero-Code Consistency for Normal Operations</h3>
+                <p><strong>Your application code stays simple. Apache Ignite handles distributed coordination automatically.</strong></p>
+                <pre><code>// Your application code - simple and clean
+public PaymentResult processPayment(PaymentRequest payment) {
+    return ignite.transactions().runInTransaction(tx -> {
+        Table accounts = ignite.tables().table("accounts");
+
+        // Standard database operations
+        Tuple account = accounts.recordView().get(tx,
+            Tuple.create().set("account_id", payment.accountId));
+
+        if (account.decimalValue("balance").compareTo(payment.amount) < 0) {
+            return PaymentResult.INSUFFICIENT_FUNDS;
+        }
+
+        // Update account balance
+        accounts.recordView().upsert(tx, Tuple.create()
+            .set("account_id", payment.accountId)
+            .set("balance", account.decimalValue("balance").subtract(payment.amount)));
+
+        return PaymentResult.SUCCESS;
+    });
+    // Apache Ignite handles all distributed coordination automatically:
+    // - Prevents duplicate processing during network partitions
+    // - Ensures balance consistency across all nodes
+    // - Maintains transaction ordering for compliance
+    // - Provides automatic failure recovery
+}</code></pre>
+                <p><strong>Automatic coordination benefits:</strong></p>
+                <ul>
+                  <li><strong>No coordination code</strong>: Write business logic, Ignite handles distributed consistency</li>
+                  <li><strong>No duplicate processing</strong>: Network partitions cannot create duplicate payments</li>
+                  <li><strong>No configuration needed</strong>: Consistency works automatically without setup</li>
+                  <li><strong>No performance penalty</strong>: Coordination happens in the background without blocking operations</li>
+                </ul>
+                <br />
+                <h2>Advanced Features: Manual Coordination Control</h2>
+                <br />
+                <p>For specialized use cases, Apache Ignite provides manual control over distributed coordination. Most applications never need this.</p>
+                <h3>When Manual Control Matters</h3>
+                <ul>
+                  <li>Custom distributed workflows with specific ordering requirements</li>
+                  <li>Multi-step operations requiring atomic coordination across steps</li>
+                  <li>Application-specific conflict resolution logic</li>
+                  <li>Performance-critical operations needing direct coordination control</li>
+                </ul>
+                <pre><code>// Advanced RAFT control for custom distributed algorithms
+public class CustomPaymentWorkflowRaft {
+
+    private final RaftGroupService paymentRaftGroup;
+    private final ClusterService clusterService;
+
+    public CompletableFuture&lt;PaymentResult&gt; processCustomPaymentWorkflow(PaymentRequest payment) {
+        // Custom multi-step payment workflow requiring specific consensus behavior
+        CustomPaymentCommand paymentCommand = new CustomPaymentCommand(payment);
+
+        // Direct RAFT group control for specialized workflow
+        return paymentRaftGroup.run(paymentCommand)
+            .thenApply(result -> {
+                // Custom workflow processed with specialized consensus logic
+                return (PaymentResult) result;
+            });
+    }
+
+    // Custom command for specialized payment workflows
+    public static class CustomPaymentCommand implements Command {
+        private final PaymentRequest payment;
+
+        public CustomPaymentCommand(PaymentRequest payment) {
+            this.payment = payment;
+        }
+
+        public PaymentRequest getPayment() {
+            return payment;
+        }
+    }
+
+    // Custom RAFT group listener for specialized processing
+    public class CustomPaymentRaftGroupListener implements RaftGroupListener {
+
+        @Override
+        public void onWrite(Iterator&lt;CommandClosure&lt;WriteCommand&gt;&gt; iterator) {
+            while (iterator.hasNext()) {
+                CommandClosure&lt;WriteCommand&gt; closure = iterator.next();
+
+                if (closure.command() instanceof CustomPaymentCommand) {
+                    CustomPaymentCommand cmd = (CustomPaymentCommand) closure.command();
+                    PaymentResult result = processCustomPaymentWorkflow(cmd.getPayment());
+                    closure.result(result);
+                }
+            }
+        }
+
+        private PaymentResult processCustomPaymentWorkflow(PaymentRequest payment) {
+            // Custom distributed workflow requiring specific consensus behavior
+            // This would implement specialized logic not available through standard transactions
+            return new PaymentResult();
+        }
+    }
+}
+</code></pre>
+                <p><strong>Advanced Control Use Cases:</strong></p>
+                <ul>
+                  <li>Custom distributed state machines</li>
+                  <li>Specialized ordering requirements</li>
+                  <li>Performance-critical consensus operations</li>
+                  <li>Application-specific replication logic</li>
+                </ul>
+                <p><strong>RAFT Performance Advantages:</strong></p>
+                <ul>
+                  <li><strong>Leader-based</strong>: Single node processes operations, eliminating coordination overhead</li>
+                  <li><strong>Pipeline efficiency</strong>: Leaders process operations without blocking</li>
+                  <li><strong>Majority consensus</strong>: Only majority nodes required (faster than unanimous)</li>
+                  <li><strong>Log-based replication</strong>: Efficient state machine replication</li>
+                </ul>
+                <h3>RAFT Group Configuration</h3>
+                <p>RAFT groups are created and managed through RaftManager for specialized processing requirements:</p>
+                <pre><code>// RAFT group configuration for specialized processing
+public class CustomRaftConfiguration {
+
+    private final RaftManager raftManager;
+    private final ClusterService clusterService;
+    private final String groupId = "custom-processing-group";
+
+    public RaftGroupService createCustomRaftGroup() {
+        ClusterNode localNode = clusterService.topologyService().localMember();
+        RaftNodeId nodeId = new RaftNodeId(groupId, localNode);
+        PeersAndLearners configuration = selectProcessingNodes();
+
+        CustomRaftGroupListener listener = new CustomRaftGroupListener();
+        RaftGroupEventsListener eventsListener = new CustomRaftGroupEventsListener();
+
+        return raftManager.startRaftGroupNode(
+            nodeId,
+            configuration,
+            listener,
+            eventsListener,
+            RaftGroupService::new,
+            createRaftOptionsConfigurer()
+        );
+    }
+
+    private PeersAndLearners selectProcessingNodes() {
+        // Select available cluster nodes for RAFT group
+        List&lt;Peer&gt; peers = clusterService.topologyService().allMembers().stream()
+            .limit(5) // Optimal RAFT group size for consensus
+            .map(node -> new Peer(node.name()))
+            .collect(Collectors.toList());
+
+        // Create learners list (can be empty for basic setup)
+        List&lt;Peer&gt; learners = List.of();
+
+        return PeersAndLearners.fromPeers(peers, learners);
+    }
+
+    private RaftGroupOptionsConfigurer createRaftOptionsConfigurer() {
+        return options -> {
+            // Configure RAFT group options for specialized processing
+            RaftGroupOptions groupOptions = (RaftGroupOptions) options;
+            groupOptions.serverDataPath(Paths.get("/path/to/raft/data"));
+        };
+    }
+}</code></pre>
+                <br />
+                <h2>Consensus Performance Under High-Velocity Load</h2>
+                <h3>RAFT Consensus Performance Impact</h3>
+                <p><strong>Standard Transaction Performance:</strong></p>
+                <pre><code>@Benchmark
+public class StandardTransactionPerformance {
+
+    @Benchmark
+    public PaymentResult processStandardPayment() {
+        long startTime = System.nanoTime();
+
+        // Standard transaction - RAFT consensus handled automatically
+        PaymentResult result = ignite.transactions().runInTransaction(tx - {
+            // Business logic - Ignite handles distributed consistency
+            return processPaymentLogic(paymentRequest, tx);
+        });
+
+        long processingTime = System.nanoTime() - startTime;
+        // Performance includes automatic RAFT consensus overhead
+
+        return result;
+    }
+}
+</code></pre>
+                <p><strong>Standard Operation Performance:</strong></p>
+                <ul>
+                  <li><strong>Transaction processing</strong>: Milliseconds range depending on cluster configuration</li>
+                  <li><strong>Automatic consensus</strong>: Ignite optimizes RAFT for table operations</li>
+                  <li><strong>Developer simplicity</strong>: No consensus code required</li>
+                  <li><strong>Throughput</strong>: Scales with cluster capacity</li>
+                </ul>
+                <p><strong>Advanced RAFT Performance</strong> (when using direct control):</p>
+                <ul>
+                  <li><strong>Custom processing</strong>: Microseconds for specialized logic</li>
+                  <li><strong>Direct consensus</strong>: Application controls consensus behavior</li>
+                  <li><strong>Specialized optimization</strong>: Custom performance tuning possible</li>
+                  <li><strong>Complex workflows</strong>: Multi-step distributed operations</li>
+                </ul>
+                <h3>Handling Network Partitions During High Load</h3>
+                <p><strong>Partition Tolerance in Distributed Processing:</strong></p>
+                <pre><code>public class RaftPartitionHandling {
+
+    private final RaftGroupService raftGroupService;
+    private final ClusterService clusterService;
+
+    public CompletableFuture&lt;String&gt; handleOperationDuringPartition(String operationData) {
+        // RAFT automatically handles network partitions through leader-based consensus
+        Peer currentLeader = raftGroupService.leader();
+
+        if (currentLeader != null && isNodeInCluster()) {
+            // This node can communicate with cluster - process operation
+            CustomCommand command = new CustomCommand(operationData);
+            return raftGroupService.run(command)
+                .thenApply(result -> "Operation completed: " + result);
+        } else {
+            // This node is isolated or no leader available - reject operation
+            return CompletableFuture.completedFuture("Operation temporarily unavailable");
+        }
+    }
+
+    private boolean isNodeInCluster() {
+        // Check if this node is still part of the active cluster topology
+        ClusterNode localNode = clusterService.topologyService().localMember();
+        Collection&lt;ClusterNode&gt; allMembers = clusterService.topologyService().allMembers();
+
+        return allMembers.contains(localNode);
+    }
+
+    // Custom command implementation for RAFT processing
+    public static class CustomCommand implements Command {
+        private final String data;
+
+        public CustomCommand(String data) {
+            this.data = data;
+        }
+
+        public String getData() {
+            return data;
+        }
+    }
+}
+</code></pre>
+                <p><strong>Partition Behavior:</strong></p>
+                <ul>
+                  <li><strong>Majority partition</strong>: Continues processing operations with full consistency</li>
+                  <li><strong>Minority partition</strong>: Stops processing to prevent split-brain scenarios</li>
+                  <li><strong>Recovery</strong>: Partitions automatically reconcile when network heals</li>
+                  <li><strong>Data safety</strong>: No data loss or duplication across partitions</li>
+                </ul>
+                <h3>Leader Election Performance</h3>
+                <p><strong>Fast Leader Election for Business Continuity:</strong></p>
+                <pre><code>public class RaftLeaderElection {
+
+    public void handleLeaderFailureDuringPeakLoad() {
+        // RAFT leader election for distributed processing
+        long electionStart = System.currentTimeMillis();
+
+        raftGroup.refreshLeader().thenAccept(newLeader -> {
+            long electionTime = System.currentTimeMillis() - electionStart;
+
+            // Election time depends on network conditions and RAFT configuration
+            log.info("Leader election completed in {}ms", electionTime);
+
+            // Resume processing immediately
+            resumeProcessing(newLeader);
+        });
+    }
+
+    private void resumeProcessing(Peer newLeader) {
+        // New leader immediately continues from RAFT log state
+        // No data loss or inconsistency during leadership change
+        log.info("Processing resumed under new leader: {}", newLeader.consistentId());
+    }
+}
+</code></pre>
+                <p><strong>Leader Election Characteristics:</strong></p>
+                <ul>
+                  <li><strong>Election time</strong>: Configurable based on network conditions and RAFT settings</li>
+                  <li><strong>Service continuity</strong>: Processing resumes immediately after election</li>
+                  <li><strong>Data consistency</strong>: All committed operations preserved across leader changes</li>
+                  <li><strong>Automatic recovery</strong>: No manual intervention required</li>
+                </ul>
+                <br />
+                <h2>Real-World Consensus Scenarios</h2>
+                <h3>Bank Payment Processing Under Load</h3>
+                <p><strong>Daily Payment Volume</strong>: 1 million payments across 24 hours</p>
+                <p><strong>Standard Bank Payment Processing:</strong></p>
+                <pre><code>// Bank payment processing - Ignite handles RAFT automatically
+@Service
+public class BankPaymentProcessor {
+
+    public PaymentResult processInterBankTransfer(TransferRequest transfer) {
+        // Standard transaction processing with automatic consistency
+        return ignite.transactions().runInTransaction(tx -> {
+            Table senderAccounts = ignite.tables().table("sender_accounts");
+            Table receiverAccounts = ignite.tables().table("receiver_accounts");
+            Table auditLog = ignite.tables().table("audit_log");
+
+            // Atomic transfer with automatic RAFT consensus
+            Tuple senderKey = Tuple.create().set("account_id", transfer.senderAccountId);
+            Tuple senderAccount = senderAccounts.recordView().get(tx, senderKey);
+
+            if (senderAccount.decimalValue("balance").compareTo(transfer.amount) < 0) {
+                return PaymentResult.INSUFFICIENT_FUNDS;
+            }
+
+            // Update both accounts atomically with automatic consensus
+            BigDecimal newSenderBalance = senderAccount.decimalValue("balance").subtract(transfer.amount);
+            senderAccounts.recordView().upsert(tx,
+                Tuple.create()
+                    .set("account_id", transfer.senderAccountId)
+                    .set("balance", newSenderBalance));
+
+            receiverAccounts.recordView().upsert(tx,
+                Tuple.create()
+                    .set("account_id", transfer.receiverAccountId)
+                    .set("balance", transfer.amount));
+
+            // Audit logging with automatic replication
+            auditLog.recordView().insert(tx, createAuditRecord(transfer));
+
+            return PaymentResult.SUCCESS;
+        });
+    }
+}
+</code></pre>
+                <p><strong>For Complex Multi-Bank Workflows</strong> (advanced scenarios):</p>
+                <pre><code>// Custom consensus for specialized inter-bank protocols
+public class AdvancedInterBankProcessor {
+
+    public PaymentResult processComplexInterBankWorkflow(TransferRequest transfer) {
+        // Specialized workflow requiring custom consensus behavior
+        InterBankWorkflowCommand command = new InterBankWorkflowCommand(transfer);
+
+        return paymentRaftGroup.run(command)
+            .thenApply(result -> {
+                // Custom workflow with specialized consistency requirements
+                return (PaymentResult) result;
+            });
+    }
+}
+</code></pre>
+                <p><strong>Performance Under Peak Load:</strong></p>
+                <ul>
+                  <li><strong>Peak hour volume</strong>: 100,000 payments/hour (27/second average, 200/second peak)</li>
+                  <li><strong>Consensus latency</strong>: Depends on network and storage configuration</li>
+                  <li><strong>System availability</strong>: High availability through RAFT consensus and automatic failover</li>
+                  <li><strong>Regulatory compliance</strong>: Guaranteed transaction ordering accuracy</li>
+                </ul>
+                <h3>E-commerce Order Processing</h3>
+                <p><strong>Flash Sale Event</strong>: 50,000 orders in 1 hour</p>
+                <p><strong>Standard Order Processing:</strong></p>
+                <pre><code>// E-commerce order processing - automatic consistency
+public class FlashSaleOrderProcessor {
+
+    public OrderResult processFlashSaleOrder(OrderRequest order) {
+        // Standard transaction handling flash sale inventory
+        return ignite.transactions().runInTransaction(tx -> {
+            Table inventory = ignite.tables().table("inventory");
+            Table orders = ignite.tables().table("orders");
+            Table payments = ignite.tables().table("payments");
+
+            // Inventory check with automatic consistency
+            Tuple productKey = Tuple.create().set("product_id", order.productId);
+            Tuple product = inventory.recordView().get(tx, productKey);
+
+            int availableQuantity = product.intValue("quantity");
+            if (availableQuantity < order.quantity) {
+                return OrderResult.OUT_OF_STOCK;
+            }
+
+            // Atomic inventory update, order creation, payment processing
+            inventory.recordView().upsert(tx,
+                Tuple.create()
+                    .set("product_id", order.productId)
+                    .set("quantity", availableQuantity - order.quantity));
+
+            orders.recordView().insert(tx, createOrderRecord(order));
+            payments.recordView().insert(tx, createPaymentRecord(order.payment));
+
+            return OrderResult.SUCCESS;
+        });
+    }
+}
+</code></pre>
+                <p><strong>For Specialized Inventory Algorithms</strong> (advanced scenarios):</p>
+                <pre><code>// Custom consensus for complex inventory management
+public class AdvancedInventoryProcessor {
+
+    public OrderResult processWithCustomInventoryLogic(OrderRequest order) {
+        // Specialized inventory workflow requiring custom consensus
+        CustomInventoryCommand command = new CustomInventoryCommand(order);
+        return inventoryRaftGroup.run(command)
+            .thenApply(result -> (OrderResult) result);
+    }
+}
+</code></pre>
+                <p><strong>Flash Sale Performance:</strong></p>
+                <ul>
+                  <li><strong>Order processing rate</strong>: Scales with cluster capacity and configuration</li>
+                  <li><strong>Inventory consistency</strong>: Maintained through RAFT consensus (prevents overselling)</li>
+                  <li><strong>Payment consistency</strong>: Guaranteed through RAFT consensus (prevents duplicate charges)</li>
+                  <li><strong>Customer experience</strong>: Response time depends on network and processing configuration</li>
+                </ul>
+                <br />
+                <h2>Business Impact of Distributed Consistency</h2>
+                <h3>Risk Mitigation</h3>
+                <p><strong>Financial Risk Reduction:</strong></p>
+                <ul>
+                  <li><strong>Payment accuracy</strong>: Eliminates duplicate payments and lost transactions</li>
+                  <li><strong>Regulatory compliance</strong>: Guaranteed transaction ordering for audit trails</li>
+                  <li><strong>System reliability</strong>: Automatic failover maintains business continuity</li>
+                  <li><strong>Data protection</strong>: Strong consistency prevents data corruption</li>
+                </ul>
+                <p><strong>Operational Risk Reduction:</strong></p>
+                <ul>
+                  <li><strong>Manual intervention</strong>: Consensus automation reduces human error</li>
+                  <li><strong>System recovery</strong>: Automatic partition healing reduces downtime</li>
+                  <li><strong>Capacity planning</strong>: Predictable consensus behavior enables accurate sizing</li>
+                  <li><strong>Incident response</strong>: Built-in fault tolerance reduces emergency responses</li>
+                </ul>
+                <h3>Revenue Protection</h3>
+                <p><strong>Payment Processing Firm Benefits:</strong></p>
+                <ul>
+                  <li><strong>Transaction volume</strong>: Supports high-volume payment processing</li>
+                  <li><strong>System availability</strong>: RAFT consensus provides automatic failover</li>
+                  <li><strong>Consistency guarantees</strong>: Eliminates payment errors that damage customer trust</li>
+                  <li><strong>Scalability</strong>: Horizontal scaling through RAFT group partitioning</li>
+                </ul>
+                <p><strong>E-commerce Platform Benefits:</strong></p>
+                <ul>
+                  <li><strong>Peak load handling</strong>: Flash sales process high volumes without consistency issues</li>
+                  <li><strong>Customer trust</strong>: Zero payment errors maintain customer confidence</li>
+                  <li><strong>Competitive advantage</strong>: Reliable order processing during high-demand events</li>
+                  <li><strong>Revenue capture</strong>: Consistent order processing vs eventual consistency risks</li>
+                </ul>
+                <h3>Operational Efficiency</h3>
+                <p><strong>Development Team Benefits:</strong></p>
+                <ul>
+                  <li><strong>Simplified architecture</strong>: Single consistency model across all operations</li>
+                  <li><strong>Reduced debugging</strong>: Strong consistency eliminates race condition bugs</li>
+                  <li><strong>Faster deployment</strong>: Consensus handles failure scenarios automatically</li>
+                  <li><strong>Predictable behavior</strong>: Deterministic failure modes simplify testing</li>
+                </ul>
+                <p><strong>Operations Team Benefits:</strong></p>
+                <ul>
+                  <li><strong>Automated failover</strong>: RAFT consensus reduces manual intervention requirements</li>
+                  <li><strong>Consistent monitoring</strong>: Single consistency model simplifies observability</li>
+                  <li><strong>Predictable recovery</strong>: Automated partition healing reduces incident response time</li>
+                  <li><strong>Scalable operations</strong>: Consensus qscales with cluster size</li>
+                </ul>
+                <br />
+                <h2>The Consistency-Performance Balance</h2>
+                <br />
+                <p>Traditional distributed systems force trade-offs between consistency and performance. Strong consistency requires coordination overhead. Eventual consistency risks business-critical errors.</p>
+                <p>
+                  Apache Ignite's RAFT implementation optimizes for both consistency and performance. Strong consistency guarantees protect business operations while consensus performance supports high-velocity application requirements.
+                </p>
+                <p><strong>The principle: Consistency should enable performance, not limit it.</strong></p>
+                <p>When your distributed system maintains strong consistency without significant performance penalties, you eliminate the architectural compromises that force trade-offs between business safety and operational speed.</p>
+                <p>High-velocity applications need both consistency guarantees and performance characteristics. RAFT consensus provides the distributed coordination foundation that enables both requirements simultaneously.</p>
+                <p>
+                  <em
+                    >Return next Tuesday for Part 7, that examines how MVCC transactions build on the RAFT consensus foundation to provide ACID guarantees optimized for high-frequency operations. This ensures that distributed consistency
+                    enables rather than constrains transaction processing performance.</em
+                  >
+                </p>
+              </div>
+            </article>
+            <section class="blog__footer">
+              <ul class="pagination post_page">
+                <li><a href="/blog/apache">apache</a></li>
+                <li><a href="/blog/ignite">ignite</a></li>
+              </ul>
+            </section>
+          </section>
+        </main>
+        <aside class="blog__sidebar">
+          <ul>
+            <li><a href="/blog/apache">apache</a></li>
+            <li><a href="/blog/ignite">ignite</a></li>
+            <li><a href="/blog/release">release</a></li>
+            <li><a href="/blog/database">database</a></li>
+            <li><a href="/blog/in">in</a></li>
+            <li><a href="/blog/memory">memory</a></li>
+            <li><a href="/blog/open">open</a></li>
+            <li><a href="/blog/source">source</a></li>
+            <li><a href="/blog/.NET">.NET</a></li>
+            <li><a href="/blog/security">security</a></li>
+            <li><a href="/blog/Intel">Intel</a></li>
+            <li><a href="/blog/CET">CET</a></li>
+            <li><a href="/blog/linq">linq</a></li>
+            <li><a href="/blog/SQL">SQL</a></li>
+            <li><a href="/blog/performance">performance</a></li>
+            <li><a href="/blog/csharp">csharp</a></li>
+            <li><a href="/blog/in-memory">in-memory</a></li>
+            <li><a href="/blog/open-source">open-source</a></li>
+            <li><a href="/blog/log4j2">log4j2</a></li>
+            <li><a href="/blog/bigdata">bigdata</a></li>
+            <li><a href="/blog/computing">computing</a></li>
+            <li><a href="/blog/two">two</a></li>
+            <li><a href="/blog/learning">learning</a></li>
+            <li><a href="/blog/machine">machine</a></li>
+            <li><a href="/blog/spark">spark</a></li>
+            <li><a href="/blog/sql">sql</a></li>
+            <li><a href="/blog/data">data</a></li>
+            <li><a href="/blog/fast">fast</a></li>
+            <li><a href="/blog/nodal">nodal</a></li>
+            <li><a href="/blog/meltdown">meltdown</a></li>
+            <li><a href="/blog/spectre">spectre</a></li>
+            <li><a href="/blog/key-value">key-value</a></li>
+            <li><a href="/blog/store">store</a></li>
+            <li><a href="/blog/meetup">meetup</a></li>
+            <li><a href="/blog/biodata">biodata</a></li>
+            <li><a href="/blog/rdbms">rdbms</a></li>
+            <li><a href="/blog/grid">grid</a></li>
+            <li><a href="/blog/imdb">imdb</a></li>
+          </ul>
+        </aside>
+      </div>
+    </div>
+    <footer class="footer">
+      <div class="container footer__top">
+        <section class="footer1">
+          <a class="footer__title" href="/features/">Features</a>
+          <ul class="footer__menu">
+            <li><a href="/arch/multi-tier-storage.html">Multi-Tier Storage</a></li>
+            <li><a href="/arch/native-persistence.html">Native Persistence</a></li>
+            <li><a href="/features/sql.html">Distributed SQL</a></li>
+            <li><a href="/features/acid-transactions.html">ACID Transactions</a></li>
+            <li><a href="/features/key-value-apis.html">Key Value APIs</a></li>
+            <li><a href="/features/compute-apis.html">Compute APIs</a></li>
+            <li><a href="/features/machinelearning.html">Machine Learning</a></li>
+            <li><a href="/features/service-apis.html">Services</a></li>
+            <li><a href="/features/streaming.html">Real-Streaming APIs</a></li>
+            <li><a href="https://ignite.apache.org/docs/latest/key-value-api/continuous-queries">Continuous Queries</a></li>
+            <li><a href="https://ignite.apache.org/docs/latest/messaging">Messaging</a></li>
+          </ul>
+        </section>
+        <section class="footer2">
+          <a class="footer__title" href="/use-cases/">Use Cases</a>
+          <ul class="footer__menu">
+            <li><a href="/use-cases/in-memory-cache.html">In-Memory Cache</a></li>
+            <li><a href="/use-cases/in-memory-data-grid.html">In-Memory Data Grid</a></li>
+            <li><a href="/use-cases/in-memory-database.html">In-Memory Database</a></li>
+            <li><a href="/use-cases/high-performance-computing.html">High-Performance Computing</a></li>
+            <li><a href="/use-cases/digital-integration-hub.html">Digital Integration Hub</a></li>
+            <li><a href="/use-cases/key-value-store.html">Key-Value Store</a></li>
+            <li><a href="/use-cases/spark-acceleration.html">Apache Spark Acceleration</a></li>
+            <li><a href="/use-cases/hadoop-acceleration.html">Apache Hadoop Acceleration</a></li>
+          </ul>
+        </section>
+        <section class="footer3"><a class="footer__title" href="/our-community.html">Community</a><a class="footer__title" href="/resources.html">Resources</a><a class="footer__title" href="/events.html">Events</a></section>
+        <section class="footer4">
+          <div class="footer4__item">Join Our <a href="mailto:dev@ignite.apache.org">Dev Mailing List</a></div>
+          <div class="footer4__item pt-2">Or write your question</div>
+          <div class="footer4__item pt-1">user@ignite.apache.org</div>
+          <div class="footer4__item pt-5">Follow Us:</div>
+          <div class="footer4__socwrap flexi pt-2">
+            <a class="footer4__soc" href="https://github.com/apache/ignite" target="_blank"><img src="/img/icon-github.svg" alt="" /></a
+            ><a class="footer4__soc" href="https://www.linkedin.com/showcase/apache-ignite/" target="_blank"><img src="/img/icon-linkedin.svg" alt="" /></a
+            ><a class="footer4__soc" href="https://twitter.com/apacheignite" target="_blank"><img src="/img/icon-twitter.svg" alt="" /></a
+            ><a class="footer4__soc" href="https://www.meetup.com/Apache-Ignite-Virtual-Meetup/" target="_blank"><img src="/img/icon-meetup-black.png" alt="" /></a>
+          </div>
+          <a class="footer4__button button" href="https://ignite.apache.org/docs/latest/index">Start Using Apache Ignite </a>
+        </section>
+      </div>
+      <div class="container footer__bot">
+        <p>© 2015 - 2024 <a href="http://www.apache.org/">The Apache Software Foundation.</a></p>
+        <p class="pt-1x">Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are either registered trademarks or trademarks of The Apache Software Foundation</p>
+        <p class="pt-1x"><a href="http://apache.org/foundation/policies/privacy.html">Privacy Policy</a></p>
+      </div>
+    </footer>
+    <a class="scrollTop" href="#"
+      ><svg class="feather feather-chevron-up" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
+        <polyline points="18 15 12 9 6 15"></polyline></svg
+    ></a>
+    <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
+    <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
+    <script src="/js/main.js?ver=0.9"></script>
+  </body>
+</html>
diff --git a/blog/apache/1/index.html b/blog/apache/1/index.html
index 4434fbb361..9ba07533ce 100644
--- a/blog/apache/1/index.html
+++ b/blog/apache/1/index.html
@@ -341,6 +341,47 @@
       <div class="blog__content">
         <main class="blog_main">
           <section class="blog__posts">
+            <article class="post">
+              <div class="post__header">
+                <h2><a href="/blog/whats-new-in-apache-ignite-3-0.html">What's New in Apache Ignite 3.0</a></h2>
+                <div>
+                  February 24, 2025 by Stanislav Lukyanov. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/whats-new-in-apache-ignite-3-0.html">Facebook</a><span>, </span
+                  ><a href="http://twitter.com/home?status=What's New in Apache Ignite 3.0%20https://ignite.apache.org/blog/whats-new-in-apache-ignite-3-0.html">Twitter</a>
+                </div>
+              </div>
+              <div class="post__content">
+                <p>
+                  Apache Ignite 3.0 is the latest milestone in Apache Ignite evolution that enhances developer experience, platform resilience, and efficiency. In this article, we’ll explore the key new features and improvements in Apache
+                  Ignite 3.0.
+                </p>
+              </div>
+              <div class="post__footer"><a class="more" href="/blog/whats-new-in-apache-ignite-3-0.html">↓ Read all</a></div>
+            </article>
+            <article class="post">
+              <div class="post__header">
+                <h2><a href="/blog/apache-ignite-2-5-scaling.html">Apache Ignite 2.5: Scaling to 1000s Nodes Clusters</a></h2>
+                <div>
+                  May 31, 2018 by Denis Magda. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-2-5-scaling.html">Facebook</a><span>, </span
+                  ><a href="http://twitter.com/home?status=Apache Ignite 2.5: Scaling to 1000s Nodes Clusters%20https://ignite.apache.org/blog/apache-ignite-2-5-scaling.html">Twitter</a>
+                </div>
+              </div>
+              <div class="post__content">
+                <p>
+                  Apache Ignite was always appreciated by its users for two primary things it delivers - scalability and performance. Throughout the lifetime many distributed systems tend to do performance optimizations from a release to
+                  release while making scalability related improvements just a couple of times. It&apos;s not because the scalability is of no interest. Usually, scalability requirements are set and solved once by a distributed system and
+                  don&apos;t require significant additional interventions by engineers.
+                </p>
+                <p>
+                  However, Apache Ignite grew to the point when the community decided to revisit its discovery subsystem that influences how well and far Ignite scales out. The goal was pretty clear - Ignite has to scale to 1000s of nodes
+                  as good as it scales to 100s now.
+                </p>
+                <p>
+                  It took many months to get the task implemented. So, please join me in welcoming Apache Ignite 2.5 that now can be scaled easily to 1000s of nodes and goes with other exciting capabilities. Let&apos;s check out the most
+                  prominent ones.
+                </p>
+              </div>
+              <div class="post__footer"><a class="more" href="/blog/apache-ignite-2-5-scaling.html">↓ Read all</a></div>
+            </article>
             <article class="post">
               <div class="post__header">
                 <h2><a href="/blog/apache-ignite-2-4-brings.html">Apache Ignite 2.4 ings Advanced Machine Learning and Spark DataFrames Capabilities</a></h2>
@@ -542,44 +583,6 @@
               </div>
               <div class="post__footer"><a class="more" href="/blog/apache-ignite-2-1-a.html">↓ Read all</a></div>
             </article>
-            <article class="post">
-              <div class="post__header">
-                <h2><a href="/blog/apache-ignite-2-0-redesigned.html">Apache Ignite 2.0: Redesigned Off-heap Memory, DDL and Machine Learning</a></h2>
-                <div>
-                  May 5, 2017 by Denis Magda. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-2-0-redesigned.html">Facebook</a><span>, </span
-                  ><a href="http://twitter.com/home?status=Apache Ignite 2.0: Redesigned Off-heap Memory, DDL and Machine Learning%20https://ignite.apache.org/blog/apache-ignite-2-0-redesigned.html">Twitter</a>
-                </div>
-              </div>
-              <div class="post__content">
-                <p>
-                  We released the long-awaited Apache Ignite version 2.0 on May 5. The community spent almost a year incorporating tremendous changes to the legacy Apache Ignite 1.x architecture. And all of that effort paid off. Our
-                  collective blood, sweat (and perhaps even a few tears) opened up new and exciting opportunities for the Apache Ignite project.
-                </p>
-                <p>Have I piqued your interest about this new release yet? Let&apos;s walk through some of the main new features that have appeared under the hood of Apache Ignite 2.0.</p>
-              </div>
-              <div class="post__footer"><a class="more" href="/blog/apache-ignite-2-0-redesigned.html">↓ Read all</a></div>
-            </article>
-            <article class="post">
-              <div class="post__header">
-                <h2><a href="/blog/presenting-apache-ignite-sql-grid.html">Presenting Apache Ignite SQL Grid at Big Data Bootcamp</a></h2>
-                <div>
-                  March 13, 2017 by Denis Magda. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/presenting-apache-ignite-sql-grid.html">Facebook</a><span>, </span
-                  ><a href="http://twitter.com/home?status=Presenting Apache Ignite SQL Grid at Big Data Bootcamp%20https://ignite.apache.org/blog/presenting-apache-ignite-sql-grid.html">Twitter</a>
-                </div>
-              </div>
-              <div class="post__content">
-                <p>
-                  Apache Ignite community welcomes you to attend <a href="http://globalbigdataconference.com/santa-clara/big-data-bootcamp/event-79.html" target="_blank">Big Data Bootcamp</a> on March 27th, 28th and 29th 2017 in Santa
-                  Clara, USA.
-                </p>
-                <p>
-                  The conference gathers experts and vendors from Big Data realm in sunny California who will be covering a variety of Big Data products and technologies, including, but not limited to, Hadoop, Spark, NoSQL, Data Science,
-                  Machine Learning, Artificial Intelligence &amp; Deep Learning.
-                </p>
-                <p>Apache Ignite will be introduced at the conference by its PMC chair and committer - Denis Magda.</p>
-              </div>
-              <div class="post__footer"><a class="more" href="/blog/presenting-apache-ignite-sql-grid.html">↓ Read all</a></div>
-            </article>
           </section>
           <section class="blog__footer">
             <ul class="pagination">
diff --git a/blog/apache/2/index.html b/blog/apache/2/index.html
index 11a1e31421..d35bc43c6f 100644
--- a/blog/apache/2/index.html
+++ b/blog/apache/2/index.html
@@ -341,6 +341,44 @@
       <div class="blog__content">
         <main class="blog_main">
           <section class="blog__posts">
+            <article class="post">
+              <div class="post__header">
+                <h2><a href="/blog/apache-ignite-2-0-redesigned.html">Apache Ignite 2.0: Redesigned Off-heap Memory, DDL and Machine Learning</a></h2>
+                <div>
+                  May 5, 2017 by Denis Magda. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-2-0-redesigned.html">Facebook</a><span>, </span
+                  ><a href="http://twitter.com/home?status=Apache Ignite 2.0: Redesigned Off-heap Memory, DDL and Machine Learning%20https://ignite.apache.org/blog/apache-ignite-2-0-redesigned.html">Twitter</a>
+                </div>
+              </div>
+              <div class="post__content">
+                <p>
+                  We released the long-awaited Apache Ignite version 2.0 on May 5. The community spent almost a year incorporating tremendous changes to the legacy Apache Ignite 1.x architecture. And all of that effort paid off. Our
+                  collective blood, sweat (and perhaps even a few tears) opened up new and exciting opportunities for the Apache Ignite project.
+                </p>
+                <p>Have I piqued your interest about this new release yet? Let&apos;s walk through some of the main new features that have appeared under the hood of Apache Ignite 2.0.</p>
+              </div>
+              <div class="post__footer"><a class="more" href="/blog/apache-ignite-2-0-redesigned.html">↓ Read all</a></div>
+            </article>
+            <article class="post">
+              <div class="post__header">
+                <h2><a href="/blog/presenting-apache-ignite-sql-grid.html">Presenting Apache Ignite SQL Grid at Big Data Bootcamp</a></h2>
+                <div>
+                  March 13, 2017 by Denis Magda. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/presenting-apache-ignite-sql-grid.html">Facebook</a><span>, </span
+                  ><a href="http://twitter.com/home?status=Presenting Apache Ignite SQL Grid at Big Data Bootcamp%20https://ignite.apache.org/blog/presenting-apache-ignite-sql-grid.html">Twitter</a>
+                </div>
+              </div>
+              <div class="post__content">
+                <p>
+                  Apache Ignite community welcomes you to attend <a href="http://globalbigdataconference.com/santa-clara/big-data-bootcamp/event-79.html" target="_blank">Big Data Bootcamp</a> on March 27th, 28th and 29th 2017 in Santa
+                  Clara, USA.
+                </p>
+                <p>
+                  The conference gathers experts and vendors from Big Data realm in sunny California who will be covering a variety of Big Data products and technologies, including, but not limited to, Hadoop, Spark, NoSQL, Data Science,
+                  Machine Learning, Artificial Intelligence &amp; Deep Learning.
+                </p>
+                <p>Apache Ignite will be introduced at the conference by its PMC chair and committer - Denis Magda.</p>
+              </div>
+              <div class="post__footer"><a class="more" href="/blog/presenting-apache-ignite-sql-grid.html">↓ Read all</a></div>
+            </article>
             <article class="post">
               <div class="post__header">
                 <h2><a href="/blog/apache-ignite-1-9-released.html">Apache Ignite 1.9 Released</a></h2>
diff --git a/blog/apache/index.html b/blog/apache/index.html
index 013b7a0f55..2165401309 100644
--- a/blog/apache/index.html
+++ b/blog/apache/index.html
@@ -344,10 +344,13 @@
             <article class="post">
               <div class="post__header">
                 <h2><a href="/blog/apache-ignite-3-architecture-part-5.html">Apache Ignite Architecture Series: Part 5 - Eliminating Data Movement: The Hidden Cost of Distributed Event Processing</a></h2>
+                <h2><a href="/blog/apache-ignite-3-architecture-part-6.html">Apache Ignite Architecture Series: Part 6 - Distributed Consistency Under Load: When High-Velocity Meets High-Availability</a></h2>
                 <div>
                   December 23, 2025 by Michael Aglietti. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-3-architecture-part-5.html">Facebook</a><span>, </span
+                  December 30, 2025 by Michael Aglietti. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-3-architecture-part-6.html">Facebook</a><span>, </span
                   ><a
                     href="http://twitter.com/home?status=Apache Ignite Architecture Series: Part 5 - Eliminating Data Movement: The Hidden Cost of Distributed Event Processing%20https://ignite.apache.org/blog/apache-ignite-3-architecture-part-5.html"
+                    href="http://twitter.com/home?status=Apache Ignite Architecture Series: Part 6 - Distributed Consistency Under Load: When High-Velocity Meets High-Availability%20https://ignite.apache.org/blog/apache-ignite-3-architecture-part-6.html"
                     >Twitter</a
                   >
                 </div>
@@ -357,8 +360,13 @@
                   Your high-velocity application processes events fast enough until it doesn't. The bottleneck isn't CPU or memory. It's data movement. Every time event processing requires data from another node, network latency adds
                   milliseconds that compound into seconds of delay under load.
                 </p>
+                <p>
+                  Distributed systems traditionally force a choice between consistency and speed. Apache Ignite's RAFT implementation delivers both: strong guarantees that protect your business without the coordination penalties that limit
+                  throughput.
+                </p>
               </div>
               <div class="post__footer"><a class="more" href="/blog/apache-ignite-3-architecture-part-5.html">↓ Read all</a></div>
+              <div class="post__footer"><a class="more" href="/blog/apache-ignite-3-architecture-part-6.html">↓ Read all</a></div>
             </article>
             <article class="post">
               <div class="post__header">
@@ -374,6 +382,23 @@
               <div class="post__content">
                 <p>Traditional systems force a choice: real-time analytics or fast transactions. Apache Ignite eliminates this trade-off with integrated platform performance that delivers both simultaneously.</p>
               </div>
+              <div class="post__footer"><a class="more" href="/blog/apache-ignite-3-architecture-part-5.html">↓ Read all</a></div>
+            </article>
+            <article class="post">
+              <div class="post__header">
+                <h2><a href="/blog/apache-ignite-3-architecture-part-4.html">Apache Ignite Architecture Series: Part 4 - Integrated Platform Performance: Maintaining Speed Under Pressure</a></h2>
+                <div>
+                  December 16, 2025 by Michael Aglietti. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-3-architecture-part-4.html">Facebook</a><span>, </span
+                  ><a
+                    href="http://twitter.com/home?status=Apache Ignite Architecture Series: Part 4 - Integrated Platform Performance: Maintaining Speed Under Pressure%20https://ignite.apache.org/blog/apache-ignite-3-architecture-part-4.html"
+                    >Twitter</a
+                  >
+                </div>
+              </div>
+              <div class="post__content">
+                <p>Traditional systems force a choice: real-time analytics or fast transactions. Apache Ignite eliminates this trade-off with integrated platform performance that delivers both simultaneously.</p>
+              </div>
+              <div class="post__footer"><a class="more" href="/blog/apache-ignite-3-architecture-part-4.html">↓ Read all</a></div>
               <div class="post__footer"><a class="more" href="/blog/apache-ignite-3-architecture-part-4.html">↓ Read all</a></div>
             </article>
             <article class="post">
diff --git a/blog/ignite/1/index.html b/blog/ignite/1/index.html
index 75b42f0a21..9b317fbf1a 100644
--- a/blog/ignite/1/index.html
+++ b/blog/ignite/1/index.html
@@ -341,6 +341,38 @@
       <div class="blog__content">
         <main class="blog_main">
           <section class="blog__posts">
+            <article class="post">
+              <div class="post__header">
+                <h2><a href="/blog/whats-new-in-apache-ignite-3-0.html">What's New in Apache Ignite 3.0</a></h2>
+                <div>
+                  February 24, 2025 by Stanislav Lukyanov. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/whats-new-in-apache-ignite-3-0.html">Facebook</a><span>, </span
+                  ><a href="http://twitter.com/home?status=What's New in Apache Ignite 3.0%20https://ignite.apache.org/blog/whats-new-in-apache-ignite-3-0.html">Twitter</a>
+                </div>
+              </div>
+              <div class="post__content">
+                <p>
+                  Apache Ignite 3.0 is the latest milestone in Apache Ignite evolution that enhances developer experience, platform resilience, and efficiency. In this article, we’ll explore the key new features and improvements in Apache
+                  Ignite 3.0.
+                </p>
+              </div>
+              <div class="post__footer"><a class="more" href="/blog/whats-new-in-apache-ignite-3-0.html">↓ Read all</a></div>
+            </article>
+            <article class="post">
+              <div class="post__header">
+                <h2><a href="/blog/apache-ignite-2-17-0.html">Apache Ignite 2.17 Release: What’s New</a></h2>
+                <div>
+                  February 13, 2025 by Nikita Amelchev. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-2-17-0.html">Facebook</a><span>, </span
+                  ><a href="http://twitter.com/home?status=Apache Ignite 2.17 Release: What’s New%20https://ignite.apache.org/blog/apache-ignite-2-17-0.html">Twitter</a>
+                </div>
+              </div>
+              <div class="post__content">
+                <p>
+                  We are happy to announce the release of <a href="https://ignite.apache.org/">Apache Ignite </a>2.17.0! In this latest version, the Ignite community has introduced a range of new features and improvements to deliver a more
+                  efficient, flexible, and future-proof platform. Below, we’ll cover the key highlights that you can look forward to when upgrading to the new release.
+                </p>
+              </div>
+              <div class="post__footer"><a class="more" href="/blog/apache-ignite-2-17-0.html">↓ Read all</a></div>
+            </article>
             <article class="post">
               <div class="post__header">
                 <h2><a href="/blog/apache-ignite-net-intel-cet-fix.html">Ignite on .NET 9 and Intel CET</a></h2>
@@ -535,71 +567,13 @@
               </div>
               <div class="post__footer"><a class="more" href="/blog/apache-ignite-momentum-highlights-from.html">↓ Read all</a></div>
             </article>
-            <article class="post">
-              <div class="post__header">
-                <h2><a href="/blog/apache-ignite-2-10-thin.html">Apache Ignite 2.10: Thin Client Expansion</a></h2>
-                <div>
-                  March 18, 2021 by Maxim Muzafarov. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-2-10-thin.html">Facebook</a><span>, </span
-                  ><a href="http://twitter.com/home?status=Apache Ignite 2.10: Thin Client Expansion%20https://ignite.apache.org/blog/apache-ignite-2-10-thin.html">Twitter</a>
-                </div>
-              </div>
-              <div class="post__content">
-                <p class="entryContent">
-                  As of March 15, 2021, <a href="https://ignite.apache.org/">Apache Ignite</a> 2.10 has been released. You can directly check the full list of resolved <a href="https://s.apache.org/i3ny6">Important JIRA&apos;s</a> but here
-                  let&rsquo;s briefly overview some valuable improvements.
-                </p>
-                <h3 id="thin-clients">Thin Clients</h3>
-                Thin clients now support several important features which, previously were available only on the thick clients. Thin clients are always backward and forward compatible with the server nodes of the cluster, so the cluster
-                upgrade process will be more convenient if the lack of these features prevented you from doing that.
-                <p>See the list of what is changed for thin clients below:</p>
-                <ul>
-                  <li>Transactions</li>
-                  <li>Service invocations</li>
-                  <li>Continuous Queries</li>
-                  <li>SQL API</li>
-                  <li>Cluster API</li>
-                  <li>Cache Async API</li>
-                  <li>Kubernetes Discovery (<em>ThinClientKubernetesAddressFinder</em>)</li>
-                </ul>
-                You may check the <a href="https://cwiki.apache.org/confluence/display/IGNITE/Thin+clients+features">List of Thin Client Features</a> that supported by platforms you are interested in or see the
-                <a href="https://ptupitsyn.github.io/Whats-New-In-Ignite-Net-2.10/">What&apos;s new in Apache Ignite.NET 2.10</a>.
-              </div>
-              <div class="post__footer"><a class="more" href="/blog/apache-ignite-2-10-thin.html">↓ Read all</a></div>
-            </article>
-            <article class="post">
-              <div class="post__header">
-                <h2><a href="/blog/ignite-2-8-released-less.html">Ignite 2.8 Released: Less Stress in Production and Advances in Machine Learning</a></h2>
-                <div>
-                  March 11, 2020 by Denis Magda. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/ignite-2-8-released-less.html">Facebook</a><span>, </span
-                  ><a href="http://twitter.com/home?status=Ignite 2.8 Released: Less Stress in Production and Advances in Machine Learning%20https://ignite.apache.org/blog/ignite-2-8-released-less.html">Twitter</a>
-                </div>
-              </div>
-              <div class="post__content">
-                <p>
-                  With thousands of changes contributed to Apache Ignite 2.8 that enhanced almost all the components of the platform, it&rsquo;s possible to overlook some of the improvements that can convince you to upgrade to this version
-                  sooner than later. While a quick check of the <a href="https://ignite.apache.org/releases/ignite2/2.8.0/release_notes.html" target="_blank">release notes</a> will help to discover anticipated bug fixes, this article aims
-                  to guide through enhancements every Ignite developer should be aware of.
-                </p>
-                <h3>New Subsystem for Production Monitoring and Tracing</h3>
-                <p>
-                  Several months of constant work on <a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=112820392" target="_blank">IEP-35: Monitoring &amp; Profiling</a> has resulted in the creation of a robust and
-                  elastic subsystem for production monitoring and diagnostic (aka. profiling). This was influenced by the needs of many developers who deployed Ignite in critical environments and were asking for a foundation that can be
-                  integrated with many external monitoring tools and be expanded easily.
-                </p>
-                <p>
-                  The <a href="https://apacheignite.readme.io/docs/new-metrics#section-exporters" target="_blank">new subsystem</a> consists of several registries that group individual metrics related to a specific Ignite component. For
-                  instance, you will find registries for cache, compute, or service grid APIs. Since the registries are designed to be generic, specific exporters can observe the state of Ignite via a myriad of tools supporting various
-                  protocols. By default, Ignite 2.8 introduces exporters for monitoring interfaces such as log files, JMX and SQL views, and contemporary ones such as OpenCensus.
-                </p>
-              </div>
-              <div class="post__footer"><a class="more" href="/blog/ignite-2-8-released-less.html">↓ Read all</a></div>
-            </article>
           </section>
           <section class="blog__footer">
             <ul class="pagination">
               <li><a class="item" href="/blog/ignite">1</a></li>
               <li><a class="current" href="/blog/ignite/1/">2</a></li>
               <li><a class="item" href="/blog/ignite/2/">3</a></li>
+              <li><a class="item" href="/blog/ignite/3/">4</a></li>
             </ul>
           </section>
         </main>
diff --git a/blog/ignite/2/index.html b/blog/ignite/2/index.html
index 88abddd870..7f1ff5ee5c 100644
--- a/blog/ignite/2/index.html
+++ b/blog/ignite/2/index.html
@@ -341,6 +341,65 @@
       <div class="blog__content">
         <main class="blog_main">
           <section class="blog__posts">
+            <article class="post">
+              <div class="post__header">
+                <h2><a href="/blog/apache-ignite-2-10-thin.html">Apache Ignite 2.10: Thin Client Expansion</a></h2>
+                <div>
+                  March 18, 2021 by Maxim Muzafarov. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-2-10-thin.html">Facebook</a><span>, </span
+                  ><a href="http://twitter.com/home?status=Apache Ignite 2.10: Thin Client Expansion%20https://ignite.apache.org/blog/apache-ignite-2-10-thin.html">Twitter</a>
+                </div>
+              </div>
+              <div class="post__content">
+                <p class="entryContent">
+                  As of March 15, 2021, <a href="https://ignite.apache.org/">Apache Ignite</a> 2.10 has been released. You can directly check the full list of resolved <a href="https://s.apache.org/i3ny6">Important JIRA&apos;s</a> but here
+                  let&rsquo;s briefly overview some valuable improvements.
+                </p>
+                <h3 id="thin-clients">Thin Clients</h3>
+                Thin clients now support several important features which, previously were available only on the thick clients. Thin clients are always backward and forward compatible with the server nodes of the cluster, so the cluster
+                upgrade process will be more convenient if the lack of these features prevented you from doing that.
+                <p>See the list of what is changed for thin clients below:</p>
+                <ul>
+                  <li>Transactions</li>
+                  <li>Service invocations</li>
+                  <li>Continuous Queries</li>
+                  <li>SQL API</li>
+                  <li>Cluster API</li>
+                  <li>Cache Async API</li>
+                  <li>Kubernetes Discovery (<em>ThinClientKubernetesAddressFinder</em>)</li>
+                </ul>
+                You may check the <a href="https://cwiki.apache.org/confluence/display/IGNITE/Thin+clients+features">List of Thin Client Features</a> that supported by platforms you are interested in or see the
+                <a href="https://ptupitsyn.github.io/Whats-New-In-Ignite-Net-2.10/">What&apos;s new in Apache Ignite.NET 2.10</a>.
+              </div>
+              <div class="post__footer"><a class="more" href="/blog/apache-ignite-2-10-thin.html">↓ Read all</a></div>
+            </article>
+            <article class="post">
+              <div class="post__header">
+                <h2><a href="/blog/ignite-2-8-released-less.html">Ignite 2.8 Released: Less Stress in Production and Advances in Machine Learning</a></h2>
+                <div>
+                  March 11, 2020 by Denis Magda. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/ignite-2-8-released-less.html">Facebook</a><span>, </span
+                  ><a href="http://twitter.com/home?status=Ignite 2.8 Released: Less Stress in Production and Advances in Machine Learning%20https://ignite.apache.org/blog/ignite-2-8-released-less.html">Twitter</a>
+                </div>
+              </div>
+              <div class="post__content">
+                <p>
+                  With thousands of changes contributed to Apache Ignite 2.8 that enhanced almost all the components of the platform, it&rsquo;s possible to overlook some of the improvements that can convince you to upgrade to this version
+                  sooner than later. While a quick check of the <a href="https://ignite.apache.org/releases/ignite2/2.8.0/release_notes.html" target="_blank">release notes</a> will help to discover anticipated bug fixes, this article aims
+                  to guide through enhancements every Ignite developer should be aware of.
+                </p>
+                <h3>New Subsystem for Production Monitoring and Tracing</h3>
+                <p>
+                  Several months of constant work on <a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=112820392" target="_blank">IEP-35: Monitoring &amp; Profiling</a> has resulted in the creation of a robust and
+                  elastic subsystem for production monitoring and diagnostic (aka. profiling). This was influenced by the needs of many developers who deployed Ignite in critical environments and were asking for a foundation that can be
+                  integrated with many external monitoring tools and be expanded easily.
+                </p>
+                <p>
+                  The <a href="https://apacheignite.readme.io/docs/new-metrics#section-exporters" target="_blank">new subsystem</a> consists of several registries that group individual metrics related to a specific Ignite component. For
+                  instance, you will find registries for cache, compute, or service grid APIs. Since the registries are designed to be generic, specific exporters can observe the state of Ignite via a myriad of tools supporting various
+                  protocols. By default, Ignite 2.8 introduces exporters for monitoring interfaces such as log files, JMX and SQL views, and contemporary ones such as OpenCensus.
+                </p>
+              </div>
+              <div class="post__footer"><a class="more" href="/blog/ignite-2-8-released-less.html">↓ Read all</a></div>
+            </article>
             <article class="post">
               <div class="post__header">
                 <h2><a href="/blog/apache-ignite-2-5-scaling.html">Apache Ignite 2.5: Scaling to 1000s Nodes Clusters</a></h2>
@@ -543,53 +602,13 @@
               </div>
               <div class="post__footer"><a class="more" href="/blog/apache-ignite-community-update-august.html">↓ Read all</a></div>
             </article>
-            <article class="post">
-              <div class="post__header">
-                <h2><a href="/blog/apache-ignite-2-1-a.html">Apache Ignite 2.1 - A Leap from In-Memory to Memory-Centric Architecture</a></h2>
-                <div>
-                  July 27, 2017 by Denis Magda. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-2-1-a.html">Facebook</a><span>, </span
-                  ><a href="http://twitter.com/home?status=Apache Ignite 2.1 - A Leap from In-Memory to Memory-Centric Architecture%20https://ignite.apache.org/blog/apache-ignite-2-1-a.html">Twitter</a>
-                </div>
-              </div>
-              <div class="post__content">
-                <p>
-                  The power and beauty of in-memory computing projects are that they truly do what they state -- deliver outstanding performance improvements by moving data closer to the CPU, using RAM as a storage and spreading the data
-                  sets out across a cluster of machines relying on horizontal scalability.
-                </p>
-                <p>
-                  However, there is an unspoken side of the story. No matter how fast a platform is, we do not want to lose the data and encounter cluster restarts or other outages. To guarantee this we need to somehow make data persistent
-                  on the disk.
-                </p>
-                <p>
-                  Most in-memory computing projects address the persistence dilemma by giving a way to sync data back to a relational database (RDBMS). That sounds reasonable and undoubtedly works pretty well in practice, but if we dig
-                  deeper, you&rsquo;ll likely encounter the following limitations:
-                </p>
-              </div>
-              <div class="post__footer"><a class="more" href="/blog/apache-ignite-2-1-a.html">↓ Read all</a></div>
-            </article>
-            <article class="post">
-              <div class="post__header">
-                <h2><a href="/blog/apache-ignite-2-0-redesigned.html">Apache Ignite 2.0: Redesigned Off-heap Memory, DDL and Machine Learning</a></h2>
-                <div>
-                  May 5, 2017 by Denis Magda. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-2-0-redesigned.html">Facebook</a><span>, </span
-                  ><a href="http://twitter.com/home?status=Apache Ignite 2.0: Redesigned Off-heap Memory, DDL and Machine Learning%20https://ignite.apache.org/blog/apache-ignite-2-0-redesigned.html">Twitter</a>
-                </div>
-              </div>
-              <div class="post__content">
-                <p>
-                  We released the long-awaited Apache Ignite version 2.0 on May 5. The community spent almost a year incorporating tremendous changes to the legacy Apache Ignite 1.x architecture. And all of that effort paid off. Our
-                  collective blood, sweat (and perhaps even a few tears) opened up new and exciting opportunities for the Apache Ignite project.
-                </p>
-                <p>Have I piqued your interest about this new release yet? Let&apos;s walk through some of the main new features that have appeared under the hood of Apache Ignite 2.0.</p>
-              </div>
-              <div class="post__footer"><a class="more" href="/blog/apache-ignite-2-0-redesigned.html">↓ Read all</a></div>
-            </article>
           </section>
           <section class="blog__footer">
             <ul class="pagination">
               <li><a class="item" href="/blog/ignite">1</a></li>
               <li><a class="item" href="/blog/ignite/1/">2</a></li>
               <li><a class="current" href="/blog/ignite/2/">3</a></li>
+              <li><a class="item" href="/blog/ignite/3/">4</a></li>
             </ul>
           </section>
         </main>
diff --git a/blog/SQL/index.html b/blog/ignite/3/index.html
similarity index 87%
rename from blog/SQL/index.html
rename to blog/ignite/3/index.html
index d4e2ac5769..7c9639da6d 100644
--- a/blog/SQL/index.html
+++ b/blog/ignite/3/index.html
@@ -3,8 +3,8 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1" />
-    <title>Entries tagged [SQL]</title>
-    <meta property="og:title" content="Entries tagged [SQL]" />
+    <title>Entries tagged [ignite]</title>
+    <meta property="og:title" content="Entries tagged [ignite]" />
     <link rel="canonical" href="https://ignite.apache.org/blog" />
     <meta property="og:type" content="article" />
     <meta property="og:url" content="https://ignite.apache.org/blog" />
@@ -337,25 +337,60 @@
     <div class="dropmenu__back"></div>
     <header class="hdrfloat hdr__white jsHdrFloatBase"></header>
     <div class="container blog">
-      <section class="blog__header"><h1>Entries tagged [SQL]</h1></section>
+      <section class="blog__header"><h1>Entries tagged [ignite]</h1></section>
       <div class="blog__content">
         <main class="blog_main">
           <section class="blog__posts">
             <article class="post">
               <div class="post__header">
-                <h2><a href="/blog/apache-ignite-net-dynamic-linq.html">Dynamic LINQ performance and usability with Ignite.NET and System.Linq.Dynamic</a></h2>
+                <h2><a href="/blog/apache-ignite-2-1-a.html">Apache Ignite 2.1 - A Leap from In-Memory to Memory-Centric Architecture</a></h2>
                 <div>
-                  May 22, 2023 by Pavel Tupitsyn. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-net-dynamic-linq.html">Facebook</a><span>, </span
-                  ><a href="http://twitter.com/home?status=Dynamic LINQ performance and usability with Ignite.NET and System.Linq.Dynamic%20https://ignite.apache.org/blog/apache-ignite-net-dynamic-linq.html">Twitter</a>
+                  July 27, 2017 by Denis Magda. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-2-1-a.html">Facebook</a><span>, </span
+                  ><a href="http://twitter.com/home?status=Apache Ignite 2.1 - A Leap from In-Memory to Memory-Centric Architecture%20https://ignite.apache.org/blog/apache-ignite-2-1-a.html">Twitter</a>
                 </div>
               </div>
               <div class="post__content">
-                <p>Dynamically building database queries can be necessary for some use cases, such as UI-defined filtering. This can get challenging with LINQ frameworks like EF Core and Ignite.NET.</p>
-                <p><a href="https://ptupitsyn.github.io/Dynamic-LINQ-With-Ignite/">Read More...</a></p>
+                <p>
+                  The power and beauty of in-memory computing projects are that they truly do what they state -- deliver outstanding performance improvements by moving data closer to the CPU, using RAM as a storage and spreading the data
+                  sets out across a cluster of machines relying on horizontal scalability.
+                </p>
+                <p>
+                  However, there is an unspoken side of the story. No matter how fast a platform is, we do not want to lose the data and encounter cluster restarts or other outages. To guarantee this we need to somehow make data persistent
+                  on the disk.
+                </p>
+                <p>
+                  Most in-memory computing projects address the persistence dilemma by giving a way to sync data back to a relational database (RDBMS). That sounds reasonable and undoubtedly works pretty well in practice, but if we dig
+                  deeper, you&rsquo;ll likely encounter the following limitations:
+                </p>
               </div>
+              <div class="post__footer"><a class="more" href="/blog/apache-ignite-2-1-a.html">↓ Read all</a></div>
             </article>
+            <article class="post">
+              <div class="post__header">
+                <h2><a href="/blog/apache-ignite-2-0-redesigned.html">Apache Ignite 2.0: Redesigned Off-heap Memory, DDL and Machine Learning</a></h2>
+                <div>
+                  May 5, 2017 by Denis Magda. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-2-0-redesigned.html">Facebook</a><span>, </span
+                  ><a href="http://twitter.com/home?status=Apache Ignite 2.0: Redesigned Off-heap Memory, DDL and Machine Learning%20https://ignite.apache.org/blog/apache-ignite-2-0-redesigned.html">Twitter</a>
+                </div>
+              </div>
+              <div class="post__content">
+                <p>
+                  We released the long-awaited Apache Ignite version 2.0 on May 5. The community spent almost a year incorporating tremendous changes to the legacy Apache Ignite 1.x architecture. And all of that effort paid off. Our
+                  collective blood, sweat (and perhaps even a few tears) opened up new and exciting opportunities for the Apache Ignite project.
+                </p>
+                <p>Have I piqued your interest about this new release yet? Let&apos;s walk through some of the main new features that have appeared under the hood of Apache Ignite 2.0.</p>
+              </div>
+              <div class="post__footer"><a class="more" href="/blog/apache-ignite-2-0-redesigned.html">↓ Read all</a></div>
+            </article>
+          </section>
+          <section class="blog__footer">
+            <ul class="pagination">
+              <li><a class="item" href="/blog/ignite">1</a></li>
+              <li><a class="item" href="/blog/ignite/1/">2</a></li>
+              <li><a class="item" href="/blog/ignite/2/">3</a></li>
+              <li><a class="current" href="/blog/ignite/3/">4</a></li>
+            </ul>
           </section>
-          <section class="blog__footer"><ul class="pagination"></ul></section>
         </main>
         <aside class="blog__sidebar">
           <ul>
diff --git a/blog/ignite/index.html b/blog/ignite/index.html
index 2ef21fec14..2822f0db8e 100644
--- a/blog/ignite/index.html
+++ b/blog/ignite/index.html
@@ -344,20 +344,45 @@
             <article class="post">
               <div class="post__header">
                 <h2><a href="/blog/apache-ignite-3-architecture-part-5.html">Apache Ignite Architecture Series: Part 5 - Eliminating Data Movement: The Hidden Cost of Distributed Event Processing</a></h2>
+                <h2><a href="/blog/apache-ignite-3-architecture-part-6.html">Apache Ignite Architecture Series: Part 6 - Distributed Consistency Under Load: When High-Velocity Meets High-Availability</a></h2>
                 <div>
                   December 23, 2025 by Michael Aglietti. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-3-architecture-part-5.html">Facebook</a><span>, </span
+                  December 30, 2025 by Michael Aglietti. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-3-architecture-part-6.html">Facebook</a><span>, </span
                   ><a
                     href="http://twitter.com/home?status=Apache Ignite Architecture Series: Part 5 - Eliminating Data Movement: The Hidden Cost of Distributed Event Processing%20https://ignite.apache.org/blog/apache-ignite-3-architecture-part-5.html"
+                    href="http://twitter.com/home?status=Apache Ignite Architecture Series: Part 6 - Distributed Consistency Under Load: When High-Velocity Meets High-Availability%20https://ignite.apache.org/blog/apache-ignite-3-architecture-part-6.html"
                     >Twitter</a
                   >
                 </div>
               </div>
               <div class="post__content">
+                <p>
+                  Distributed systems traditionally force a choice between consistency and speed. Apache Ignite's RAFT implementation delivers both: strong guarantees that protect your business without the coordination penalties that limit
+                  throughput.
+                </p>
                 <p>
                   Your high-velocity application processes events fast enough until it doesn't. The bottleneck isn't CPU or memory. It's data movement. Every time event processing requires data from another node, network latency adds
                   milliseconds that compound into seconds of delay under load.
                 </p>
               </div>
+              <div class="post__footer"><a class="more" href="/blog/apache-ignite-3-architecture-part-6.html">↓ Read all</a></div>
+              <div class="post__footer"><a class="more" href="/blog/apache-ignite-3-architecture-part-5.html">↓ Read all</a></div>
+            </article>
+            <article class="post">
+              <div class="post__header">
+                <h2><a href="/blog/apache-ignite-3-architecture-part-4.html">Apache Ignite Architecture Series: Part 4 - Integrated Platform Performance: Maintaining Speed Under Pressure</a></h2>
+                <div>
+                  December 16, 2025 by Michael Aglietti. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-3-architecture-part-4.html">Facebook</a><span>, </span
+                  ><a
+                    href="http://twitter.com/home?status=Apache Ignite Architecture Series: Part 4 - Integrated Platform Performance: Maintaining Speed Under Pressure%20https://ignite.apache.org/blog/apache-ignite-3-architecture-part-4.html"
+                    >Twitter</a
+                  >
+                </div>
+              </div>
+              <div class="post__content">
+                <p>Traditional systems force a choice: real-time analytics or fast transactions. Apache Ignite eliminates this trade-off with integrated platform performance that delivers both simultaneously.</p>
+              </div>
+              <div class="post__footer"><a class="more" href="/blog/apache-ignite-3-architecture-part-4.html">↓ Read all</a></div>
               <div class="post__footer"><a class="more" href="/blog/apache-ignite-3-architecture-part-5.html">↓ Read all</a></div>
             </article>
             <article class="post">
diff --git a/blog/index.html b/blog/index.html
index 003efed0be..18fc17ee4c 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -341,6 +341,25 @@
       <div class="blog__content">
         <main class="blog_main">
           <section class="blog__posts">
+            <article class="post">
+              <div class="post__header">
+                <h2><a href="/blog/apache-ignite-3-architecture-part-6.html">Apache Ignite Architecture Series: Part 6 - Distributed Consistency Under Load: When High-Velocity Meets High-Availability</a></h2>
+                <div>
+                  December 30, 2025 by Michael Aglietti. Share in <a href="http://www.facebook.com/sharer.php?u=https://ignite.apache.org/blog/apache-ignite-3-architecture-part-6.html">Facebook</a><span>, </span
+                  ><a
+                    href="http://twitter.com/home?status=Apache Ignite Architecture Series: Part 6 - Distributed Consistency Under Load: When High-Velocity Meets High-Availability%20https://ignite.apache.org/blog/apache-ignite-3-architecture-part-6.html"
+                    >Twitter</a
+                  >
+                </div>
+              </div>
+              <div class="post__content">
+                <p>
+                  Distributed systems traditionally force a choice between consistency and speed. Apache Ignite's RAFT implementation delivers both: strong guarantees that protect your business without the coordination penalties that limit
+                  throughput.
+                </p>
+              </div>
+              <div class="post__footer"><a class="more" href="/blog/apache-ignite-3-architecture-part-6.html">↓ Read all</a></div>
+            </article>
             <article class="post">
               <div class="post__header">
                 <h2><a href="/blog/apache-ignite-3-architecture-part-5.html">Apache Ignite Architecture Series: Part 5 - Eliminating Data Movement: The Hidden Cost of Distributed Event Processing</a></h2>
diff --git a/download.html b/download.html
index fe9aedac3e..82dd7d3123 100644
--- a/download.html
+++ b/download.html
@@ -1698,6 +1698,7 @@
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/events.html b/events.html
index 3738c8ae63..7824ee540e 100644
--- a/events.html
+++ b/events.html
@@ -3518,6 +3518,7 @@ article.eventcomingitem.flexi
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/faq.html b/faq.html
index 8ca689db73..01e80a86f0 100644
--- a/faq.html
+++ b/faq.html
@@ -557,6 +557,7 @@
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/features/acid-transactions.html b/features/acid-transactions.html
index f85aa4c5c5..bffad01472 100644
--- a/features/acid-transactions.html
+++ b/features/acid-transactions.html
@@ -509,6 +509,7 @@
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/features/compute-apis.html b/features/compute-apis.html
index c0501037c3..5a933476a9 100644
--- a/features/compute-apis.html
+++ b/features/compute-apis.html
@@ -603,6 +603,7 @@ ignite.compute().affinityRun("City", newYorkId, new IgniteRunnable() {
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/features/index.html b/features/index.html
index f73e44efe7..f02c561c6c 100644
--- a/features/index.html
+++ b/features/index.html
@@ -538,6 +538,7 @@
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/features/key-value-apis.html b/features/key-value-apis.html
index 1cd39dc3e9..e126d66f72 100644
--- a/features/key-value-apis.html
+++ b/features/key-value-apis.html
@@ -521,6 +521,7 @@
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/features/machinelearning.html b/features/machinelearning.html
index 8333a9bfd2..8945240da3 100644
--- a/features/machinelearning.html
+++ b/features/machinelearning.html
@@ -499,6 +499,7 @@
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/features/multilanguage.html b/features/multilanguage.html
index 5bc54c14ba..3761184864 100644
--- a/features/multilanguage.html
+++ b/features/multilanguage.html
@@ -442,6 +442,7 @@
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/features/service-apis.html b/features/service-apis.html
index 660532917b..0ce23f6caa 100644
--- a/features/service-apis.html
+++ b/features/service-apis.html
@@ -534,6 +534,7 @@ services.deployClusterSingleton("myCounterService", new MyCounterServiceImpl());
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/features/sql.html b/features/sql.html
index bd0b7fa65f..ea592d6854 100644
--- a/features/sql.html
+++ b/features/sql.html
@@ -565,6 +565,7 @@
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/features/streaming.html b/features/streaming.html
index f2d20461c5..b89285ad76 100644
--- a/features/streaming.html
+++ b/features/streaming.html
@@ -521,6 +521,7 @@
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/features/tooling.html b/features/tooling.html
index c278a0cd79..09a682431b 100644
--- a/features/tooling.html
+++ b/features/tooling.html
@@ -545,6 +545,7 @@
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/img/.DS_Store b/img/.DS_Store
new file mode 100644
index 0000000000..66d41274de
Binary files /dev/null and b/img/.DS_Store differ
diff --git a/our-community.html b/our-community.html
index c85030bd69..247eda2427 100644
--- a/our-community.html
+++ b/our-community.html
@@ -1495,6 +1495,7 @@
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/resources.html b/resources.html
index 32e1557b44..50982eaf98 100644
--- a/resources.html
+++ b/resources.html
@@ -683,6 +683,7 @@
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/use-cases.html b/use-cases.html
index ab17700e74..6843d156df 100644
--- a/use-cases.html
+++ b/use-cases.html
@@ -488,6 +488,7 @@
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/use-cases/digital-integration-hub.html b/use-cases/digital-integration-hub.html
index 372e1ceb4e..1bed654a58 100644
--- a/use-cases/digital-integration-hub.html
+++ b/use-cases/digital-integration-hub.html
@@ -595,6 +595,7 @@
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/use-cases/hadoop-acceleration.html b/use-cases/hadoop-acceleration.html
index 99076f8868..beb6927247 100644
--- a/use-cases/hadoop-acceleration.html
+++ b/use-cases/hadoop-acceleration.html
@@ -550,6 +550,7 @@
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/use-cases/high-performance-computing.html b/use-cases/high-performance-computing.html
index ebe6232856..a05b009ea7 100644
--- a/use-cases/high-performance-computing.html
+++ b/use-cases/high-performance-computing.html
@@ -626,6 +626,7 @@
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/use-cases/in-memory-cache.html b/use-cases/in-memory-cache.html
index 52aca1b930..34d5c2e9bc 100644
--- a/use-cases/in-memory-cache.html
+++ b/use-cases/in-memory-cache.html
@@ -584,6 +584,7 @@
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/use-cases/in-memory-data-grid.html b/use-cases/in-memory-data-grid.html
index d18866c4bb..aaa358f228 100644
--- a/use-cases/in-memory-data-grid.html
+++ b/use-cases/in-memory-data-grid.html
@@ -594,6 +594,7 @@
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/use-cases/in-memory-database.html b/use-cases/in-memory-database.html
index 039741672e..c42c5365fd 100644
--- a/use-cases/in-memory-database.html
+++ b/use-cases/in-memory-database.html
@@ -608,6 +608,7 @@
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/use-cases/key-value-store.html b/use-cases/key-value-store.html
index 49841da898..317c20f524 100644
--- a/use-cases/key-value-store.html
+++ b/use-cases/key-value-store.html
@@ -503,6 +503,7 @@
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/use-cases/provenusecases.html b/use-cases/provenusecases.html
index 52f415a1e2..2beefb831a 100644
--- a/use-cases/provenusecases.html
+++ b/use-cases/provenusecases.html
@@ -766,6 +766,7 @@
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>
diff --git a/use-cases/spark-acceleration.html b/use-cases/spark-acceleration.html
index c2f09e3fc7..55e6022a16 100644
--- a/use-cases/spark-acceleration.html
+++ b/use-cases/spark-acceleration.html
@@ -486,6 +486,7 @@
     ></a>
     <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
     <script src="/js/vendor/smoothscroll.js"></script>
+    <script src="/js/vendor/mermaid/mermaid.min.js"></script>
     <script src="/js/main.js?ver=0.9"></script>
   </body>
 </html>