SlideShare a Scribd company logo
Distributed Cache for .NET
Open Source
Iqbal Khan
Technology Evangelist
www.alachisoft.com, @NCache
Architecture
1@NCache Architecture www.alachisoft.com
The Scalability Problem
Application Tier Scales Linearly
BUT
Data Storage is the Bottleneck
(Relational Databases, Mainframe Data, etc.)
NoSQL Database Not Always the Answer
(often unable to use it)
2@NCache Architecture www.alachisoft.com
Linear Scalability of NCache
3
NoSQL Database
Any NoSQL DB
Relational DB
SQL Database
- Low cost servers
- Data replication
- Cluster wide updates
NCache Dynamic Cluster
Windows 2008/2012 (64-bit)
Linear Scalability
Memory & CPU pooled
100% Traffic
20% Traffic
Legacy Data
Mainframe
Web Apps (.NET & Java) Web Services (.NET & Java) Server Apps (.NET & Java)
@NCache Architecture www.alachisoft.com
NCache Scalability Numbers
50,000
72,000
96,000
120,000
144,000
32,000
48,000
64,000
80,000
96,000
-
20,000
40,000
60,000
80,000
100,000
120,000
140,000
160,000
2 3 4 5 6
Txns/Sec
Cache Servers
Read/Sec
Writes/Sec
4@NCache Architecture www.alachisoft.com
Common Uses of NCache
1. App Data Caching
– Cache linearly scalable (database is not)
– Data exists in BOTH cache & database (permanent data)
2. ASP.NET & ASP.NET Core Caching
– ASP.NET Session State storage (single-site & multi-site)
– ASP.NET View State cache (pre-MVC)
– ASP.NET Output Cache provider (ASP.NET Core Response Caching)
– Data exists ONLY in cache (transient data)
3. Runtime Data Sharing thru Events
– Event driven data sharing in pub/sub model
– Event notifications & Continuous Query
– Data exists ONLY in cache (transient data)
5@NCache Architecture www.alachisoft.com
Self-Healing Dynamic Cluster
6@NCache Architecture www.alachisoft.com
High Availability (100% Uptime)
Self-Healing Dynamic Cluster
 Peer to Peer Architecture
 No single point of failure
 No master/slave or majority rule
 Runtime Add/Remove Servers
 Without stopping anything
 Connection Failover Support
 Between clients & servers
 Within cache cluster
 Dynamic Configuration
 Cluster membership propagated Dynamic Cache Cluster
NCache Srv
Add
Server
At
Runtime
Remove
Server
At
Runtime
NCache Srv NCache Srv
Cache Clients (Web/App Servers)
Cluster
Membership
Info
Cache
Topology Info
7@NCache Architecture www.alachisoft.com
Caching Toplogies
8@NCache Architecture www.alachisoft.com
Caching Topologies
Mirrored Cache (2-node active/passive)
Server 1 Server 2
Mirrored Cache
1 2
3 4
5 6
Active
1 2
3 4
5 6
Passive
(Backup)
Async Mirroring
Cache Clients (Web/App Servers)
• 2 Nodes (Active & Passive)
• Clients Connect to Active Node
• Active Node has Entire Cache
– Passive node has a copy
• Async Mirroring
– Passive node becomes active
• Auto Failover Support
– Passive node becomes active
– Client auto-connect to it
9@NCache Architecture www.alachisoft.com
Caching Topologies
Replicated Cache
• All Nodes are Active
– Can be more than 2
• Entire Cache on Each Node
– Multiple copies of cache
• Client Connects to One Node
– Auto load balance
– Manual node selection
• Synchronous Updates
– Sequence based algorithm
– Slower than async options
Server 1 Server 2
Replicated Cache
1 2
3 4
5 6
Active
Synchronous Updates
Cache Clients (Web/App Servers)
1 2
3 4
5 6
Active
10@NCache Architecture www.alachisoft.com
Caching Topologies
Partitioned Cache
 Partitions & Distribution Map
 Automatic division of cache into
partitions
 One partition per cache server
 1000 buckets per cache cluster
 Buckets distributed evenly
 Clients Connect to ALL servers
 For single-hop data access
 Data Balancing
 Moves buckets to other partitions
 When partition is added or removed
 When partition overloaded
11@NCache Architecture www.alachisoft.com
Server 1 Server 2
Partitioned Cache
Cache Clients (Web/App Servers)
21
Partition 1
43
Partition 2
Distribution
Map
Distribution
Map
Caching Topologies
Partition-Replica Cache
 Replicas of Partitions
 Created automatically
 On a different server
 Are passive (no client talks to
replicas). Only partition talks to it.
 Async Replication (default)
 Async replication is BULK copy
 Could lose some data
 Sync Replication
 Done as part of operation
 Operation fails if replication fails
 Data Balancing on Replicas Too
 When done on Partitions Server 1
Partition-Replica Cache
Cache Clients (Web/App Servers)
21
Partition 1
43
Replica 2
Distribution
Map
Distribution
Map
Server 2
43
Partition 2
21
Replica 1
12@NCache Architecture www.alachisoft.com
Server 1
Partition-Replica Cache
Cache Clients (Web/App Servers)
21
Partition 1
43
Replica 2
Distribution
Map
Distribution
Map
Server 2
43
Partition 2
21
Replica 1
Server 1 Server 2
Partitioned Cache
Cache Clients (Web/App Servers)
21
Partition 1
43
Partition 2
Distribution
Map
Distribution
Map
Caching Topologies
Partitioned Cache & Partition-Replica Cache
13@NCache Architecture www.alachisoft.com
Caching Topologies
Data Balancing on Adding/Removing a Server
Server 1
21
Partition 1
Replica 3
65
Server 3
65
Partition 3
Replica 2
43
Server 2
43
Partition 2
Replica 1
21
Partition-Replica CachePartition-Replica Cache
Server 1
21
Partition 1
43
Replica 2
Server 2
43
Partition 2
21
Replica 1
14@NCache Architecture www.alachisoft.com
Client Cache (Near Cache)
15@NCache Architecture www.alachisoft.com
Client Cache (Near Cache)
 Local cache (close to your app)
 InProc or OutProc
 Sync with cache cluster
 Auto sync
 Optimistic & pessimistic sync
 No code changes needed
 Automatically intercepts cache calls
 Use in read-intensive cases Dynamic Cache Cluster
Cache Clients (Web/App Servers)
Client Cache
. . .
Client CacheClient Cache
SynchronizedSynchronized Synchronized
Cache ServrCache Servr Cache Servr
Client Cache
Any Caching Toplogy
16@NCache Architecture www.alachisoft.com
WAN Replication
(Multi Datacenter Support)
17@NCache Architecture www.alachisoft.com
WAN Replication of Cache
Active-Passive
Active-Active
18@NCache Architecture www.alachisoft.com
API Overview
19@NCache Architecture www.alachisoft.com
App Data Caching API
• Connect & Disconnect from the Cache
• Cache cache = NCache.InitializeCache(“myDistributedCache”);
• cache.Dispose();
• Read from the Cache
• Employee employee = (Employee) cache.Get(“Employee:1000”);
• Employee employee = (Employee) cache[“Employee:1000”];
• bool isPresent = cache.Contains(“Employee:1000”);
• Add to the Cache
• cache.Add(“Employee:1000”, employee);
• cache.Insert(“Employee:1000”, employee);
• cache[“Employee:1000”] = employee;
• Remove from the Cache
• Employee employee = (Employee) cache.Remove(“Employee:1000”);
20@NCache Architecture www.alachisoft.com
Next Steps
• Download NCache (Fully Working 60-Day Trial)
– http://www.alachisoft.com/download.html
• Download NCache Open Source (FREE)
– http://www.alachisoft.com/download.html
• Schedule a Personalized Online DEMO
– One hour long
– Get answers to your questions from our Solution Architects
21@NCache Architecture www.alachisoft.com

More Related Content

What's hot

Designing enterprise drupal
Designing enterprise drupalDesigning enterprise drupal
Designing enterprise drupal
Jason Burnett
 
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison
Severalnines
 
Tips to drive maria db cluster performance for nextcloud
Tips to drive maria db cluster performance for nextcloudTips to drive maria db cluster performance for nextcloud
Tips to drive maria db cluster performance for nextcloud
Severalnines
 
Enterprise Drupal Application & Hosting Infrastructure Level Monitoring
Enterprise Drupal Application & Hosting Infrastructure Level MonitoringEnterprise Drupal Application & Hosting Infrastructure Level Monitoring
Enterprise Drupal Application & Hosting Infrastructure Level Monitoring
Daniel Kanchev
 
Global Data Replication with Galera for Ansell Guardian®
Global Data Replication with Galera for Ansell Guardian®Global Data Replication with Galera for Ansell Guardian®
Global Data Replication with Galera for Ansell Guardian®
MariaDB plc
 
Technical Introduction to PostgreSQL and PPAS
Technical Introduction to PostgreSQL and PPASTechnical Introduction to PostgreSQL and PPAS
Technical Introduction to PostgreSQL and PPAS
Ashnikbiz
 
Visualizing Kafka Security
Visualizing Kafka SecurityVisualizing Kafka Security
Visualizing Kafka Security
DataWorks Summit
 
Software Development with Apache Cassandra
Software Development with Apache CassandraSoftware Development with Apache Cassandra
Software Development with Apache Cassandra
zznate
 
Introduction to Apache Cassandra™ + What’s New in 4.0
Introduction to Apache Cassandra™ + What’s New in 4.0Introduction to Apache Cassandra™ + What’s New in 4.0
Introduction to Apache Cassandra™ + What’s New in 4.0
DataStax
 
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Toronto-Oracle-Users-Group
 
SQL Server It Just Runs Faster
SQL Server It Just Runs FasterSQL Server It Just Runs Faster
SQL Server It Just Runs Faster
Bob Ward
 
Webinar slides: How to Measure Database Availability?
Webinar slides: How to Measure Database Availability?Webinar slides: How to Measure Database Availability?
Webinar slides: How to Measure Database Availability?
Severalnines
 
Drupal In The Cloud
Drupal In The CloudDrupal In The Cloud
Drupal In The Cloud
Jochen Lillich
 
Database as a Service on the Oracle Database Appliance Platform
Database as a Service on the Oracle Database Appliance PlatformDatabase as a Service on the Oracle Database Appliance Platform
Database as a Service on the Oracle Database Appliance Platform
Maris Elsins
 
Enhancements that will make your sql database roar sp1 edition sql bits 2017
Enhancements that will make your sql database roar sp1 edition sql bits 2017Enhancements that will make your sql database roar sp1 edition sql bits 2017
Enhancements that will make your sql database roar sp1 edition sql bits 2017
Bob Ward
 
Webinar slides: An Introduction to Performance Monitoring for PostgreSQL
Webinar slides: An Introduction to Performance Monitoring for PostgreSQLWebinar slides: An Introduction to Performance Monitoring for PostgreSQL
Webinar slides: An Introduction to Performance Monitoring for PostgreSQL
Severalnines
 
Powering GIS Application with PostgreSQL and Postgres Plus
Powering GIS Application with PostgreSQL and Postgres Plus Powering GIS Application with PostgreSQL and Postgres Plus
Powering GIS Application with PostgreSQL and Postgres Plus
Ashnikbiz
 
Ashnik EnterpriseDB PostgreSQL - A real alternative to Oracle
Ashnik EnterpriseDB PostgreSQL - A real alternative to Oracle Ashnik EnterpriseDB PostgreSQL - A real alternative to Oracle
Ashnik EnterpriseDB PostgreSQL - A real alternative to Oracle
Ashnikbiz
 
LVOUG meetup #2 - Forcing SQL Execution Plan Instability
LVOUG meetup #2 - Forcing SQL Execution Plan InstabilityLVOUG meetup #2 - Forcing SQL Execution Plan Instability
LVOUG meetup #2 - Forcing SQL Execution Plan Instability
Maris Elsins
 
New life inside monolithic application
New life inside monolithic applicationNew life inside monolithic application
New life inside monolithic application
Taras Matyashovsky
 

What's hot (20)

Designing enterprise drupal
Designing enterprise drupalDesigning enterprise drupal
Designing enterprise drupal
 
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison
 
Tips to drive maria db cluster performance for nextcloud
Tips to drive maria db cluster performance for nextcloudTips to drive maria db cluster performance for nextcloud
Tips to drive maria db cluster performance for nextcloud
 
Enterprise Drupal Application & Hosting Infrastructure Level Monitoring
Enterprise Drupal Application & Hosting Infrastructure Level MonitoringEnterprise Drupal Application & Hosting Infrastructure Level Monitoring
Enterprise Drupal Application & Hosting Infrastructure Level Monitoring
 
Global Data Replication with Galera for Ansell Guardian®
Global Data Replication with Galera for Ansell Guardian®Global Data Replication with Galera for Ansell Guardian®
Global Data Replication with Galera for Ansell Guardian®
 
Technical Introduction to PostgreSQL and PPAS
Technical Introduction to PostgreSQL and PPASTechnical Introduction to PostgreSQL and PPAS
Technical Introduction to PostgreSQL and PPAS
 
Visualizing Kafka Security
Visualizing Kafka SecurityVisualizing Kafka Security
Visualizing Kafka Security
 
Software Development with Apache Cassandra
Software Development with Apache CassandraSoftware Development with Apache Cassandra
Software Development with Apache Cassandra
 
Introduction to Apache Cassandra™ + What’s New in 4.0
Introduction to Apache Cassandra™ + What’s New in 4.0Introduction to Apache Cassandra™ + What’s New in 4.0
Introduction to Apache Cassandra™ + What’s New in 4.0
 
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
 
SQL Server It Just Runs Faster
SQL Server It Just Runs FasterSQL Server It Just Runs Faster
SQL Server It Just Runs Faster
 
Webinar slides: How to Measure Database Availability?
Webinar slides: How to Measure Database Availability?Webinar slides: How to Measure Database Availability?
Webinar slides: How to Measure Database Availability?
 
Drupal In The Cloud
Drupal In The CloudDrupal In The Cloud
Drupal In The Cloud
 
Database as a Service on the Oracle Database Appliance Platform
Database as a Service on the Oracle Database Appliance PlatformDatabase as a Service on the Oracle Database Appliance Platform
Database as a Service on the Oracle Database Appliance Platform
 
Enhancements that will make your sql database roar sp1 edition sql bits 2017
Enhancements that will make your sql database roar sp1 edition sql bits 2017Enhancements that will make your sql database roar sp1 edition sql bits 2017
Enhancements that will make your sql database roar sp1 edition sql bits 2017
 
Webinar slides: An Introduction to Performance Monitoring for PostgreSQL
Webinar slides: An Introduction to Performance Monitoring for PostgreSQLWebinar slides: An Introduction to Performance Monitoring for PostgreSQL
Webinar slides: An Introduction to Performance Monitoring for PostgreSQL
 
Powering GIS Application with PostgreSQL and Postgres Plus
Powering GIS Application with PostgreSQL and Postgres Plus Powering GIS Application with PostgreSQL and Postgres Plus
Powering GIS Application with PostgreSQL and Postgres Plus
 
Ashnik EnterpriseDB PostgreSQL - A real alternative to Oracle
Ashnik EnterpriseDB PostgreSQL - A real alternative to Oracle Ashnik EnterpriseDB PostgreSQL - A real alternative to Oracle
Ashnik EnterpriseDB PostgreSQL - A real alternative to Oracle
 
LVOUG meetup #2 - Forcing SQL Execution Plan Instability
LVOUG meetup #2 - Forcing SQL Execution Plan InstabilityLVOUG meetup #2 - Forcing SQL Execution Plan Instability
LVOUG meetup #2 - Forcing SQL Execution Plan Instability
 
New life inside monolithic application
New life inside monolithic applicationNew life inside monolithic application
New life inside monolithic application
 

Similar to NCache Architecture

NCache 3.8 SP3
NCache 3.8 SP3NCache 3.8 SP3
NCache 3.8 SP3
wesnoor
 
Intro to Apache Apex (next gen Hadoop) & comparison to Spark Streaming
Intro to Apache Apex (next gen Hadoop) & comparison to Spark StreamingIntro to Apache Apex (next gen Hadoop) & comparison to Spark Streaming
Intro to Apache Apex (next gen Hadoop) & comparison to Spark Streaming
Apache Apex
 
SQL Server Alwayson for SharePoint HA/DR Step by Step Guide
SQL Server Alwayson for SharePoint HA/DR Step by Step GuideSQL Server Alwayson for SharePoint HA/DR Step by Step Guide
SQL Server Alwayson for SharePoint HA/DR Step by Step Guide
Lars Platzdasch
 
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
Lars Platzdasch
 
Westpac Bank Tech Talk 1: Dive into Apache Kafka
Westpac Bank Tech Talk 1: Dive into Apache KafkaWestpac Bank Tech Talk 1: Dive into Apache Kafka
Westpac Bank Tech Talk 1: Dive into Apache Kafka
confluent
 
Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...
Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...
Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...
LarryZaman
 
Will it Scale? The Secrets behind Scaling Stream Processing Applications
Will it Scale? The Secrets behind Scaling Stream Processing ApplicationsWill it Scale? The Secrets behind Scaling Stream Processing Applications
Will it Scale? The Secrets behind Scaling Stream Processing Applications
Navina Ramesh
 
VMworld 2013: Architecting VMware Horizon Workspace for Scale and Performance
VMworld 2013: Architecting VMware Horizon Workspace for Scale and PerformanceVMworld 2013: Architecting VMware Horizon Workspace for Scale and Performance
VMworld 2013: Architecting VMware Horizon Workspace for Scale and Performance
VMworld
 
A Look into the Mirror: Patterns and Best Practices for MirrorMaker2 | Cliff ...
A Look into the Mirror: Patterns and Best Practices for MirrorMaker2 | Cliff ...A Look into the Mirror: Patterns and Best Practices for MirrorMaker2 | Cliff ...
A Look into the Mirror: Patterns and Best Practices for MirrorMaker2 | Cliff ...
HostedbyConfluent
 
How to scale your web app
How to scale your web appHow to scale your web app
How to scale your web app
Georgio_1999
 
Critical Attributes for a High-Performance, Low-Latency Database
Critical Attributes for a High-Performance, Low-Latency DatabaseCritical Attributes for a High-Performance, Low-Latency Database
Critical Attributes for a High-Performance, Low-Latency Database
ScyllaDB
 
How To Scale v2
How To Scale v2How To Scale v2
How To Scale v2
Georgio_1999
 
MySQL High Availability Solutions - Avoid loss of service by reducing the r...
MySQL High Availability Solutions  -  Avoid loss of service by reducing the r...MySQL High Availability Solutions  -  Avoid loss of service by reducing the r...
MySQL High Availability Solutions - Avoid loss of service by reducing the r...
Olivier DASINI
 
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
Markus Michalewicz
 
Big Data Streams Architectures. Why? What? How?
Big Data Streams Architectures. Why? What? How?Big Data Streams Architectures. Why? What? How?
Big Data Streams Architectures. Why? What? How?
Anton Nazaruk
 
Clustering van IT-componenten
Clustering van IT-componentenClustering van IT-componenten
Clustering van IT-componenten
Richard Claassens CIPPE
 
Capacity Management/Provisioning (Cloud's full, Can't build here)
Capacity Management/Provisioning (Cloud's full, Can't build here)Capacity Management/Provisioning (Cloud's full, Can't build here)
Capacity Management/Provisioning (Cloud's full, Can't build here)
andyhky
 
Ingestion and Dimensions Compute and Enrich using Apache Apex
Ingestion and Dimensions Compute and Enrich using Apache ApexIngestion and Dimensions Compute and Enrich using Apache Apex
Ingestion and Dimensions Compute and Enrich using Apache Apex
Apache Apex
 
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
Edward Burns
 
Intro to Apache Apex - Next Gen Platform for Ingest and Transform
Intro to Apache Apex - Next Gen Platform for Ingest and TransformIntro to Apache Apex - Next Gen Platform for Ingest and Transform
Intro to Apache Apex - Next Gen Platform for Ingest and Transform
Apache Apex
 

Similar to NCache Architecture (20)

NCache 3.8 SP3
NCache 3.8 SP3NCache 3.8 SP3
NCache 3.8 SP3
 
Intro to Apache Apex (next gen Hadoop) & comparison to Spark Streaming
Intro to Apache Apex (next gen Hadoop) & comparison to Spark StreamingIntro to Apache Apex (next gen Hadoop) & comparison to Spark Streaming
Intro to Apache Apex (next gen Hadoop) & comparison to Spark Streaming
 
SQL Server Alwayson for SharePoint HA/DR Step by Step Guide
SQL Server Alwayson for SharePoint HA/DR Step by Step GuideSQL Server Alwayson for SharePoint HA/DR Step by Step Guide
SQL Server Alwayson for SharePoint HA/DR Step by Step Guide
 
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
 
Westpac Bank Tech Talk 1: Dive into Apache Kafka
Westpac Bank Tech Talk 1: Dive into Apache KafkaWestpac Bank Tech Talk 1: Dive into Apache Kafka
Westpac Bank Tech Talk 1: Dive into Apache Kafka
 
Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...
Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...
Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...
 
Will it Scale? The Secrets behind Scaling Stream Processing Applications
Will it Scale? The Secrets behind Scaling Stream Processing ApplicationsWill it Scale? The Secrets behind Scaling Stream Processing Applications
Will it Scale? The Secrets behind Scaling Stream Processing Applications
 
VMworld 2013: Architecting VMware Horizon Workspace for Scale and Performance
VMworld 2013: Architecting VMware Horizon Workspace for Scale and PerformanceVMworld 2013: Architecting VMware Horizon Workspace for Scale and Performance
VMworld 2013: Architecting VMware Horizon Workspace for Scale and Performance
 
A Look into the Mirror: Patterns and Best Practices for MirrorMaker2 | Cliff ...
A Look into the Mirror: Patterns and Best Practices for MirrorMaker2 | Cliff ...A Look into the Mirror: Patterns and Best Practices for MirrorMaker2 | Cliff ...
A Look into the Mirror: Patterns and Best Practices for MirrorMaker2 | Cliff ...
 
How to scale your web app
How to scale your web appHow to scale your web app
How to scale your web app
 
Critical Attributes for a High-Performance, Low-Latency Database
Critical Attributes for a High-Performance, Low-Latency DatabaseCritical Attributes for a High-Performance, Low-Latency Database
Critical Attributes for a High-Performance, Low-Latency Database
 
How To Scale v2
How To Scale v2How To Scale v2
How To Scale v2
 
MySQL High Availability Solutions - Avoid loss of service by reducing the r...
MySQL High Availability Solutions  -  Avoid loss of service by reducing the r...MySQL High Availability Solutions  -  Avoid loss of service by reducing the r...
MySQL High Availability Solutions - Avoid loss of service by reducing the r...
 
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?
 
Big Data Streams Architectures. Why? What? How?
Big Data Streams Architectures. Why? What? How?Big Data Streams Architectures. Why? What? How?
Big Data Streams Architectures. Why? What? How?
 
Clustering van IT-componenten
Clustering van IT-componentenClustering van IT-componenten
Clustering van IT-componenten
 
Capacity Management/Provisioning (Cloud's full, Can't build here)
Capacity Management/Provisioning (Cloud's full, Can't build here)Capacity Management/Provisioning (Cloud's full, Can't build here)
Capacity Management/Provisioning (Cloud's full, Can't build here)
 
Ingestion and Dimensions Compute and Enrich using Apache Apex
Ingestion and Dimensions Compute and Enrich using Apache ApexIngestion and Dimensions Compute and Enrich using Apache Apex
Ingestion and Dimensions Compute and Enrich using Apache Apex
 
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
 
Intro to Apache Apex - Next Gen Platform for Ingest and Transform
Intro to Apache Apex - Next Gen Platform for Ingest and TransformIntro to Apache Apex - Next Gen Platform for Ingest and Transform
Intro to Apache Apex - Next Gen Platform for Ingest and Transform
 

Recently uploaded

Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
ShamsuddeenMuhammadA
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi ArabiaTop 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
Yara Milbes
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 

Recently uploaded (20)

Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi ArabiaTop 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 

NCache Architecture

  • 1. Distributed Cache for .NET Open Source Iqbal Khan Technology Evangelist www.alachisoft.com, @NCache Architecture 1@NCache Architecture www.alachisoft.com
  • 2. The Scalability Problem Application Tier Scales Linearly BUT Data Storage is the Bottleneck (Relational Databases, Mainframe Data, etc.) NoSQL Database Not Always the Answer (often unable to use it) 2@NCache Architecture www.alachisoft.com
  • 3. Linear Scalability of NCache 3 NoSQL Database Any NoSQL DB Relational DB SQL Database - Low cost servers - Data replication - Cluster wide updates NCache Dynamic Cluster Windows 2008/2012 (64-bit) Linear Scalability Memory & CPU pooled 100% Traffic 20% Traffic Legacy Data Mainframe Web Apps (.NET & Java) Web Services (.NET & Java) Server Apps (.NET & Java) @NCache Architecture www.alachisoft.com
  • 5. Common Uses of NCache 1. App Data Caching – Cache linearly scalable (database is not) – Data exists in BOTH cache & database (permanent data) 2. ASP.NET & ASP.NET Core Caching – ASP.NET Session State storage (single-site & multi-site) – ASP.NET View State cache (pre-MVC) – ASP.NET Output Cache provider (ASP.NET Core Response Caching) – Data exists ONLY in cache (transient data) 3. Runtime Data Sharing thru Events – Event driven data sharing in pub/sub model – Event notifications & Continuous Query – Data exists ONLY in cache (transient data) 5@NCache Architecture www.alachisoft.com
  • 6. Self-Healing Dynamic Cluster 6@NCache Architecture www.alachisoft.com
  • 7. High Availability (100% Uptime) Self-Healing Dynamic Cluster  Peer to Peer Architecture  No single point of failure  No master/slave or majority rule  Runtime Add/Remove Servers  Without stopping anything  Connection Failover Support  Between clients & servers  Within cache cluster  Dynamic Configuration  Cluster membership propagated Dynamic Cache Cluster NCache Srv Add Server At Runtime Remove Server At Runtime NCache Srv NCache Srv Cache Clients (Web/App Servers) Cluster Membership Info Cache Topology Info 7@NCache Architecture www.alachisoft.com
  • 9. Caching Topologies Mirrored Cache (2-node active/passive) Server 1 Server 2 Mirrored Cache 1 2 3 4 5 6 Active 1 2 3 4 5 6 Passive (Backup) Async Mirroring Cache Clients (Web/App Servers) • 2 Nodes (Active & Passive) • Clients Connect to Active Node • Active Node has Entire Cache – Passive node has a copy • Async Mirroring – Passive node becomes active • Auto Failover Support – Passive node becomes active – Client auto-connect to it 9@NCache Architecture www.alachisoft.com
  • 10. Caching Topologies Replicated Cache • All Nodes are Active – Can be more than 2 • Entire Cache on Each Node – Multiple copies of cache • Client Connects to One Node – Auto load balance – Manual node selection • Synchronous Updates – Sequence based algorithm – Slower than async options Server 1 Server 2 Replicated Cache 1 2 3 4 5 6 Active Synchronous Updates Cache Clients (Web/App Servers) 1 2 3 4 5 6 Active 10@NCache Architecture www.alachisoft.com
  • 11. Caching Topologies Partitioned Cache  Partitions & Distribution Map  Automatic division of cache into partitions  One partition per cache server  1000 buckets per cache cluster  Buckets distributed evenly  Clients Connect to ALL servers  For single-hop data access  Data Balancing  Moves buckets to other partitions  When partition is added or removed  When partition overloaded 11@NCache Architecture www.alachisoft.com Server 1 Server 2 Partitioned Cache Cache Clients (Web/App Servers) 21 Partition 1 43 Partition 2 Distribution Map Distribution Map
  • 12. Caching Topologies Partition-Replica Cache  Replicas of Partitions  Created automatically  On a different server  Are passive (no client talks to replicas). Only partition talks to it.  Async Replication (default)  Async replication is BULK copy  Could lose some data  Sync Replication  Done as part of operation  Operation fails if replication fails  Data Balancing on Replicas Too  When done on Partitions Server 1 Partition-Replica Cache Cache Clients (Web/App Servers) 21 Partition 1 43 Replica 2 Distribution Map Distribution Map Server 2 43 Partition 2 21 Replica 1 12@NCache Architecture www.alachisoft.com
  • 13. Server 1 Partition-Replica Cache Cache Clients (Web/App Servers) 21 Partition 1 43 Replica 2 Distribution Map Distribution Map Server 2 43 Partition 2 21 Replica 1 Server 1 Server 2 Partitioned Cache Cache Clients (Web/App Servers) 21 Partition 1 43 Partition 2 Distribution Map Distribution Map Caching Topologies Partitioned Cache & Partition-Replica Cache 13@NCache Architecture www.alachisoft.com
  • 14. Caching Topologies Data Balancing on Adding/Removing a Server Server 1 21 Partition 1 Replica 3 65 Server 3 65 Partition 3 Replica 2 43 Server 2 43 Partition 2 Replica 1 21 Partition-Replica CachePartition-Replica Cache Server 1 21 Partition 1 43 Replica 2 Server 2 43 Partition 2 21 Replica 1 14@NCache Architecture www.alachisoft.com
  • 15. Client Cache (Near Cache) 15@NCache Architecture www.alachisoft.com
  • 16. Client Cache (Near Cache)  Local cache (close to your app)  InProc or OutProc  Sync with cache cluster  Auto sync  Optimistic & pessimistic sync  No code changes needed  Automatically intercepts cache calls  Use in read-intensive cases Dynamic Cache Cluster Cache Clients (Web/App Servers) Client Cache . . . Client CacheClient Cache SynchronizedSynchronized Synchronized Cache ServrCache Servr Cache Servr Client Cache Any Caching Toplogy 16@NCache Architecture www.alachisoft.com
  • 17. WAN Replication (Multi Datacenter Support) 17@NCache Architecture www.alachisoft.com
  • 18. WAN Replication of Cache Active-Passive Active-Active 18@NCache Architecture www.alachisoft.com
  • 20. App Data Caching API • Connect & Disconnect from the Cache • Cache cache = NCache.InitializeCache(“myDistributedCache”); • cache.Dispose(); • Read from the Cache • Employee employee = (Employee) cache.Get(“Employee:1000”); • Employee employee = (Employee) cache[“Employee:1000”]; • bool isPresent = cache.Contains(“Employee:1000”); • Add to the Cache • cache.Add(“Employee:1000”, employee); • cache.Insert(“Employee:1000”, employee); • cache[“Employee:1000”] = employee; • Remove from the Cache • Employee employee = (Employee) cache.Remove(“Employee:1000”); 20@NCache Architecture www.alachisoft.com
  • 21. Next Steps • Download NCache (Fully Working 60-Day Trial) – http://www.alachisoft.com/download.html • Download NCache Open Source (FREE) – http://www.alachisoft.com/download.html • Schedule a Personalized Online DEMO – One hour long – Get answers to your questions from our Solution Architects 21@NCache Architecture www.alachisoft.com