SlideShare a Scribd company logo
1 of 55
Download to read offline
CASSANDRA SUMMIT SF 2014 
CONTRIBUTOR BOOT 
CAMP 
Aaron Morton 
@aaronmorton 
Co-Founder & Principal Consultant 
Licensed under a Creative Commons Attribution-NonCommercial 3.0 New Zealand License
Architecture 
Startup, Shutdown & Failure 
StorageProxy 
MessagingService 
Gossip
Dynamo Cluster Architecture 
Clients 
API's 
Dynamo 
Database 
Disk 
API's 
Dynamo 
Database 
Disk 
Node 1 Node 2
API Layer 
o.a.c.auth 
o.a.c.cql3 
o.a.c.metrics 
o.a.c.thrift 
o.a.c.transport
API Layer 
Talks to Dynamo layer using 
Commands via the 
StorageProxy
Dynamo Layer 
o.a.c.dht 
o.a.c.gms 
o.a.c.locator 
o.a.c.net 
o.a.c.repair 
o.a.c.service 
o.a.c.streaming
Dynamo Layer 
Talks to Database layer by 
sending messages to 
IVerbHandler’s via the 
MessagingService.
Database Layer 
o.a.c.cache 
o.a.c.concurrent 
o.a.c.db 
o.a.c.io 
o.a.c.serializers
Global Services 
o.a.c.config 
o.a.c.trace 
o.a.c.utils
Architecture 
Startup, Shutdown & Failure 
StorageProxy 
MessagingService 
Gossip
o.a.c.service.CassandraDaemon.main() 
! 
// Singleton 
// Start MBean 
setup() // here be magic
o.a.c.service.CassandraDaemon.setup() 
// JNA 
Thread.setDefaultUncaughtExceptionHandler() 
// Check directories exist 
SystemKeyspace.checkHealth(); 
DatabaseDescriptor.loadSchemas(); 
CFS.disableAutoCompaction(); 
!
o.a.c.service.CassandraDaemon.setup() 
CommitLog.recover(); 
StorageService.registerDaemon(); 
StorageService.initServer();
Exception Hook 
! 
// Exception Metrics 
! 
FileUtils.handleFSError() 
FileUtils.handleCorruptSSTable()
Shutdown and Drain Hook 
! 
// Shutdown client transports 
// Shutdown thread pools 
// Blocking flush to disk 
// Shutdown commit log 
!
Architecture 
Startup, Shutdown & Failure 
StorageProxy 
MessagingService 
Gossip
o.a.c.service.StorageProxy 
! 
// Cluster wide storage operations 
// Select endpoints & check CL available 
// Send messages to Stages 
// Wait for response 
// Store Hints
o.a.c.service.IResponseResolver 
! 
preprocess(MessageIn<T> message) 
resolve() throws DigestMismatchException 
! 
RowDigestResolver 
RowDataResolver 
RangeSliceResponseResolver
Response Handlers / Callback 
! 
implements IAsyncCallback<T> 
! 
response(MessageIn<T> msg) 
!
o.a.c.service.ReadCallback.get() 
! 
//Wait for blockfor & data 
condition.await(timeout, 
TimeUnit.MILLISECONDS) 
! 
// if condition not set 
throw ReadTimeoutException() 
! 
resolver.resolve()
o.a.c.service.StorageProxy.fetchRows() 
! 
AbstractReadExecutor.getReadExecutor() 
exec.executeAsync(); 
exec.maybeTryAdditionalReplicas(); 
--------------------------------------- 
AbstractReadExecutor.get() //handler.get 
catch (DigestMismatchException ex) 
catch (ReadTimeoutException ex)
AbstractReadExecutor.getReadExecutor() 
! 
StorageProxy.getLiveSortedEndpoints() 
CFMetaData.newReadRepairDecision() 
ConsistencyLevel.filterForQuery() 
ConsistencyLevel.assureSufficientLiveNodes() 
…
AbstractReadExecutor.getReadExecutor() 
! 
// no retry or blocking for all replicas 
return new NeverSpeculatingReadExecutor() 
! 
// always retry or targeting all replicas 
return new AlwaysSpeculatingReadExecutor() 
! 
// otherwise 
return new SpeculatingReadExecutor()
AbstractReadExecutor() 
! 
resolver = new RowDigestResolver() 
handler = new ReadCallback<>()
AbstractReadExecutor.executeAsync() 
// makeDataRequests 
MessagingService.sendRR(command.createMessage(), endpoint, 
handler); 
! 
// makeDigestRequests 
ReadCommand digestCommand = command.copy(); 
digestCommand.setDigestQuery(true); 
MessageOut<?> message = digestCommand.createMessage(); 
MessagingService.instance().sendRR(message, endpoint, 
handler);
StorageProxy.mutateAtomically() 
! 
wrapResponseHandler() 
AbstractWriteResponseHandler.assureSufficientLiveNodes() 
! 
----------------------------------------------------- 
getBatchlogEndpoints() 
syncWriteToBatchlog() // all mutations 
syncWriteBatchedMutations() // all wrappers 
asyncRemoveFromBatchlog() 
! 
catch (UnavailableException e) 
catch (WriteTimeoutException e)
StorageProxy.wrapResponseHandler() 
! 
StorageService.getNaturalEndpoints() 
TokenMetadata.pendingEndpointsFor() 
AbstractReplicationStrategy.getWriteResponseHandler() 
----------------------------------------- 
! 
// AbstractWriteResponseHandler 
WriteResponseHandler 
DatacenterWriteResponseHandler 
DatacenterSyncWriteResponseHandler 
ReplayWriteResponseHandler
StorageProxy.syncWriteBatchedMutations() 
! 
// write to natural and pending endpoints 
sendToHintedEndpoints() 
! 
--------------------------------------- 
! 
AbstractWriteResponseHandler.get()
StorageProxy.sendToHintedEndpoints() 
// loop all targets 
MessagingService.sendRR() // for local 
! 
// group messages for remote DC’s 
dcGroups.get(dc).add(destination) 
! 
// write hints for down nodes 
submitHint() 
--------------------------------------- 
! 
sendMessagesToNonlocalDC()
Architecture 
Startup, Shutdown & Failure 
StorageProxy 
MessagingService 
Gossip
MessagingService Transport Layer 
Custom Serialisation over TCP 
Sockets. 
Serialisers spread around 
code.
o.a.c.net.MessagingService.verb<<enum>> 
! 
MUTATION 
READ 
REQUEST_RESPONSE 
TREE_REQUEST 
TREE_RESPONSE 
(And more...)
o.a.c.net.MessagingService.verbHandlers 
! 
new EnumMap<Verb, 
IVerbHandler>(Verb.class)
o.a.c.net.IVerbHandler<T> 
! 
doVerb(MessageIn<T> message, String id); 
!
o.a.c.net.MessageIn<T> 
public class MessageIn<T> 
{ 
public final InetAddress from; 
public final T payload; 
public final Map<String, byte[]> parameters; 
public final MessagingService.Verb verb; 
public final int version; 
… 
}
o.a.c.net.MessageOut<T> 
public class MessageOut<T> 
{ 
public final InetAddress 
public final MessagingService.Verb verb; 
public final T payload; 
public final IVersionedSerializer<T> 
serializer; 
public final Map<String, byte[]> parameters; 
… 
}
o.a.c.net.MessagingService.verbStages 
! 
new EnumMap<MessagingService.Verb, 
Stage>(MessagingService.Verb.class)
o.a.c.net.MessagingService.verbStages 
! 
put(Verb.MUTATION, Stage.MUTATION); 
put(Verb.READ, Stage.READ); 
put(Verb.REQUEST_RESPONSE, 
Stage.REQUEST_RESPONSE);
o.a.c.net.MessagingService.receive() 
! 
runnable = new MessageDeliveryTask( 
message, id, timestamp); 
! 
StageManager.getStage( 
message.getMessageType()); 
! 
stage.execute(runnable);
o.a.c.net.MessageDeliveryTask.run() 
! 
// If dropable and rpc_timeout 
MessagingService.incrementDroppedMessages(verb 
); 
! 
MessagingService.getVerbHandler(verb) 
verbHandler.doVerb(message, id)
Architecture 
Startup, Shutdown & Failure 
StorageProxy 
MessagingService 
Gossip
o.a.c.gms.ApplicationState 
! 
STATUS, 
LOAD, 
SCHEMA, 
DC, 
RACK, 
RELEASE_VERSION, 
REMOVAL_COORDINATOR, 
INTERNAL_IP, 
RPC_ADDRESS, 
SEVERITY, 
NET_VERSION …
o.a.c.gms.VersionedValue 
! 
public final int version; 
public final String value;
o.a.c.gms.VersionGenerator 
{ 
private static final AtomicInteger version = new 
AtomicInteger(0); 
! 
public static int getNextVersion() 
{ 
return version.incrementAndGet(); 
} 
}
o.a.c.gms.EndpointState 
{ 
private volatile HeartBeatState hbState; 
final Map<ApplicationState, VersionedValue> applicationState = new 
NonBlockingHashMap<ApplicationState, VersionedValue>(); 
! 
}
o.a.c.gms.HeartBeatState 
{ 
private int generation; 
private int version; 
… 
}
o.a.c.db.SystemKeyspace.incrementAndGetGeneration() 
SELECT gossip_generation FROM system.local WHERE key=‘local’; 
! 
// if none 
generation = (int) (System.currentTimeMillis() / 1000); 
! 
// else 
generation = (int) (System.currentTimeMillis() / 1000); 
// and some other checks
nodetool gossipinfo 
generation:1410220170 
heartbeat:37 
LOAD:1.57821104E8 
STATUS:NORMAL,-1007384361686170050 
RACK:rack1 
NET_VERSION:8 
SEVERITY:0.0 
RELEASE_VERSION:2.1.0-rc5 
SCHEMA:f3b70c8e-a904-3de9-ac5d-8ab30271441d 
HOST_ID:4aac20b5-3c68-4a26-a415-2e2f2ff0ed46 
RPC_ADDRESS:127.0.0.1
o.a.c.gms.Gossiper.GossipTask.run() 
Gossip every second. 
1 to 3 nodes. 
! 
Three step process.
Processed by IVerbHandlers 
I Send SYN. 
Remote replies with ACK. 
I send ACK2.
o.a.c.gms.GossipDigestSyn 
Exchange List<GossipDigest> 
! 
GossipDigest 
{ 
final InetAddress endpoint; 
final int generation; 
final int maxVersion; 
… 
}
o.a.c.gms.Gossiper.examineGossiper() 
// If empty SYN send all my info (shadow gossip) 
! 
if (remoteGeneration == localGeneration && maxRemoteVersion 
== maxLocalVersion) 
// do nothing 
! 
else if (remoteGeneration > localGeneration) 
// we request everything from the gossiper 
! 
else if (remoteGeneration < localGeneration) 
// send all data with generation = localgeneration and version >
o.a.c.gms.Gossiper.examineGossiper() 
else if (remoteGeneration == localGeneration) 
! 
/* 
If the max remote version is greater then we request the remote 
endpoint send us all the data for this endpoint with version greater 
than the max version number we have locally for this endpoint. 
! 
If the max remote version is lesser, then we send all the data we 
have locally for this endpoint with version greater than the max 
remote version. 
*/
Thanks. 
!
Aaron Morton 
@aaronmorton 
! 
Co-Founder & Principal Consultant 
www.thelastpickle.com 
! 
Licensed under a Creative Commons Attribution-NonCommercial 3.0 New Zealand License

More Related Content

What's hot

How and Why Prometheus' New Storage Engine Pushes the Limits of Time Series D...
How and Why Prometheus' New Storage Engine Pushes the Limits of Time Series D...How and Why Prometheus' New Storage Engine Pushes the Limits of Time Series D...
How and Why Prometheus' New Storage Engine Pushes the Limits of Time Series D...Docker, Inc.
 
How to Leverage Go for Your Networking Needs
How to Leverage Go for Your Networking NeedsHow to Leverage Go for Your Networking Needs
How to Leverage Go for Your Networking NeedsDigitalOcean
 
Sample Build Automation Commands
Sample Build Automation CommandsSample Build Automation Commands
Sample Build Automation CommandsJoseph Dante
 
Kernel Recipes 2019 - RCU in 2019 - Joel Fernandes
Kernel Recipes 2019 - RCU in 2019 - Joel FernandesKernel Recipes 2019 - RCU in 2019 - Joel Fernandes
Kernel Recipes 2019 - RCU in 2019 - Joel FernandesAnne Nicolas
 
Migrating KSM page causes the VM lock up as the KSM page merging list is too ...
Migrating KSM page causes the VM lock up as the KSM page merging list is too ...Migrating KSM page causes the VM lock up as the KSM page merging list is too ...
Migrating KSM page causes the VM lock up as the KSM page merging list is too ...Gavin Guo
 
Cassandra SF 2013 - Cassandra Internals
Cassandra SF 2013 - Cassandra InternalsCassandra SF 2013 - Cassandra Internals
Cassandra SF 2013 - Cassandra Internalsaaronmorton
 
D itg-manual
D itg-manualD itg-manual
D itg-manualVeggax
 
How to use KASAN to debug memory corruption in OpenStack environment- (2)
How to use KASAN to debug memory corruption in OpenStack environment- (2)How to use KASAN to debug memory corruption in OpenStack environment- (2)
How to use KASAN to debug memory corruption in OpenStack environment- (2)Gavin Guo
 
Introduction to tcp ip linux networking
Introduction to tcp ip   linux networkingIntroduction to tcp ip   linux networking
Introduction to tcp ip linux networkingSreenatha Reddy K R
 
Ganglia Monitoring Tool
Ganglia Monitoring ToolGanglia Monitoring Tool
Ganglia Monitoring Toolsudhirpg
 
Training Slides: 153 - Working with the CLI
Training Slides: 153 - Working with the CLITraining Slides: 153 - Working with the CLI
Training Slides: 153 - Working with the CLIContinuent
 
0xdec0de01 crypto CTF solutions
0xdec0de01 crypto CTF solutions0xdec0de01 crypto CTF solutions
0xdec0de01 crypto CTF solutionsVlad Garbuz
 

What's hot (20)

How and Why Prometheus' New Storage Engine Pushes the Limits of Time Series D...
How and Why Prometheus' New Storage Engine Pushes the Limits of Time Series D...How and Why Prometheus' New Storage Engine Pushes the Limits of Time Series D...
How and Why Prometheus' New Storage Engine Pushes the Limits of Time Series D...
 
How to Leverage Go for Your Networking Needs
How to Leverage Go for Your Networking NeedsHow to Leverage Go for Your Networking Needs
How to Leverage Go for Your Networking Needs
 
Sample Build Automation Commands
Sample Build Automation CommandsSample Build Automation Commands
Sample Build Automation Commands
 
Kernel Recipes 2019 - RCU in 2019 - Joel Fernandes
Kernel Recipes 2019 - RCU in 2019 - Joel FernandesKernel Recipes 2019 - RCU in 2019 - Joel Fernandes
Kernel Recipes 2019 - RCU in 2019 - Joel Fernandes
 
Migrating KSM page causes the VM lock up as the KSM page merging list is too ...
Migrating KSM page causes the VM lock up as the KSM page merging list is too ...Migrating KSM page causes the VM lock up as the KSM page merging list is too ...
Migrating KSM page causes the VM lock up as the KSM page merging list is too ...
 
System Calls
System CallsSystem Calls
System Calls
 
Cassandra SF 2013 - Cassandra Internals
Cassandra SF 2013 - Cassandra InternalsCassandra SF 2013 - Cassandra Internals
Cassandra SF 2013 - Cassandra Internals
 
D itg-manual
D itg-manualD itg-manual
D itg-manual
 
Amos command
Amos commandAmos command
Amos command
 
How to use KASAN to debug memory corruption in OpenStack environment- (2)
How to use KASAN to debug memory corruption in OpenStack environment- (2)How to use KASAN to debug memory corruption in OpenStack environment- (2)
How to use KASAN to debug memory corruption in OpenStack environment- (2)
 
Introduction to tcp ip linux networking
Introduction to tcp ip   linux networkingIntroduction to tcp ip   linux networking
Introduction to tcp ip linux networking
 
Ganglia Monitoring Tool
Ganglia Monitoring ToolGanglia Monitoring Tool
Ganglia Monitoring Tool
 
Kernel crashdump
Kernel crashdumpKernel crashdump
Kernel crashdump
 
Lecture set 7
Lecture set 7Lecture set 7
Lecture set 7
 
Tcpdump
TcpdumpTcpdump
Tcpdump
 
Metrics with Ganglia
Metrics with GangliaMetrics with Ganglia
Metrics with Ganglia
 
Ceph issue 해결 사례
Ceph issue 해결 사례Ceph issue 해결 사례
Ceph issue 해결 사례
 
Nova HA
Nova HANova HA
Nova HA
 
Training Slides: 153 - Working with the CLI
Training Slides: 153 - Working with the CLITraining Slides: 153 - Working with the CLI
Training Slides: 153 - Working with the CLI
 
0xdec0de01 crypto CTF solutions
0xdec0de01 crypto CTF solutions0xdec0de01 crypto CTF solutions
0xdec0de01 crypto CTF solutions
 

Viewers also liked

Trash Pick Up Tyler TX
Trash Pick Up Tyler TXTrash Pick Up Tyler TX
Trash Pick Up Tyler TXvidyasagar555
 
2015 GovConNet Procurement Conference Sponsorship Kit
2015 GovConNet Procurement Conference Sponsorship Kit2015 GovConNet Procurement Conference Sponsorship Kit
2015 GovConNet Procurement Conference Sponsorship KitAdriana Vargas
 
Boost Your Marketing Strategy With Social Media
Boost Your Marketing Strategy With Social MediaBoost Your Marketing Strategy With Social Media
Boost Your Marketing Strategy With Social MediaPrediq Media
 
Cinematography the descent
Cinematography   the descentCinematography   the descent
Cinematography the descentjessellie
 
Discount drug card association standards,
 Discount drug card association standards, Discount drug card association standards,
Discount drug card association standards,vidyasagar555
 
improvements
improvementsimprovements
improvementsnelemen
 
Carnet ecn maladie infectieux tome 1
Carnet ecn maladie infectieux tome 1Carnet ecn maladie infectieux tome 1
Carnet ecn maladie infectieux tome 1abdesselam2015
 

Viewers also liked (8)

Trash Pick Up Tyler TX
Trash Pick Up Tyler TXTrash Pick Up Tyler TX
Trash Pick Up Tyler TX
 
2015 GovConNet Procurement Conference Sponsorship Kit
2015 GovConNet Procurement Conference Sponsorship Kit2015 GovConNet Procurement Conference Sponsorship Kit
2015 GovConNet Procurement Conference Sponsorship Kit
 
Boost Your Marketing Strategy With Social Media
Boost Your Marketing Strategy With Social MediaBoost Your Marketing Strategy With Social Media
Boost Your Marketing Strategy With Social Media
 
Cinematography the descent
Cinematography   the descentCinematography   the descent
Cinematography the descent
 
Discount drug card association standards,
 Discount drug card association standards, Discount drug card association standards,
Discount drug card association standards,
 
improvements
improvementsimprovements
improvements
 
The world war i
The world war iThe world war i
The world war i
 
Carnet ecn maladie infectieux tome 1
Carnet ecn maladie infectieux tome 1Carnet ecn maladie infectieux tome 1
Carnet ecn maladie infectieux tome 1
 

Similar to Cassandra 2.1 boot camp, Overview

Apache Con NA 2013 - Cassandra Internals
Apache Con NA 2013 - Cassandra InternalsApache Con NA 2013 - Cassandra Internals
Apache Con NA 2013 - Cassandra Internalsaaronmorton
 
Apache Cassandra in Bangalore - Cassandra Internals and Performance
Apache Cassandra in Bangalore - Cassandra Internals and PerformanceApache Cassandra in Bangalore - Cassandra Internals and Performance
Apache Cassandra in Bangalore - Cassandra Internals and Performanceaaronmorton
 
What the CRaC - Superfast JVM startup
What the CRaC - Superfast JVM startupWhat the CRaC - Superfast JVM startup
What the CRaC - Superfast JVM startupGerrit Grunwald
 
weblogic perfomence tuning
weblogic perfomence tuningweblogic perfomence tuning
weblogic perfomence tuningprathap kumar
 
Remote Procedure Call
Remote Procedure CallRemote Procedure Call
Remote Procedure CallNadia Nahar
 
Non-blocking I/O, Event loops and node.js
Non-blocking I/O, Event loops and node.jsNon-blocking I/O, Event loops and node.js
Non-blocking I/O, Event loops and node.jsMarcus Frödin
 
Capturing NIC and Kernel TX and RX Timestamps for Packets in Go
Capturing NIC and Kernel TX and RX Timestamps for Packets in GoCapturing NIC and Kernel TX and RX Timestamps for Packets in Go
Capturing NIC and Kernel TX and RX Timestamps for Packets in GoScyllaDB
 
WSO2 Product Release Webinar: WSO2 Complex Event Processor 4.0
WSO2 Product Release Webinar: WSO2 Complex Event Processor 4.0WSO2 Product Release Webinar: WSO2 Complex Event Processor 4.0
WSO2 Product Release Webinar: WSO2 Complex Event Processor 4.0WSO2
 
05 module managing your network enviornment
05  module managing your network enviornment05  module managing your network enviornment
05 module managing your network enviornmentAsif
 
Alexey Orlenko ''High-performance IPC and RPC for microservices and apps''
Alexey Orlenko ''High-performance IPC and RPC for microservices and apps''Alexey Orlenko ''High-performance IPC and RPC for microservices and apps''
Alexey Orlenko ''High-performance IPC and RPC for microservices and apps''OdessaJS Conf
 
Sun RPC (Remote Procedure Call)
Sun RPC (Remote Procedure Call)Sun RPC (Remote Procedure Call)
Sun RPC (Remote Procedure Call)Peter R. Egli
 
Server side JavaScript: going all the way
Server side JavaScript: going all the wayServer side JavaScript: going all the way
Server side JavaScript: going all the wayOleg Podsechin
 
Router Queue Simulation in C++ in MMNN and MM1 conditions
Router Queue Simulation in C++ in MMNN and MM1 conditionsRouter Queue Simulation in C++ in MMNN and MM1 conditions
Router Queue Simulation in C++ in MMNN and MM1 conditionsMorteza Mahdilar
 
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Thomas Graf
 
Troubleshooting TCP/IP
Troubleshooting TCP/IPTroubleshooting TCP/IP
Troubleshooting TCP/IPvijai s
 
Cassandra Internals Overview
Cassandra Internals OverviewCassandra Internals Overview
Cassandra Internals Overviewbeobal
 

Similar to Cassandra 2.1 boot camp, Overview (20)

Apache Con NA 2013 - Cassandra Internals
Apache Con NA 2013 - Cassandra InternalsApache Con NA 2013 - Cassandra Internals
Apache Con NA 2013 - Cassandra Internals
 
Apache Cassandra in Bangalore - Cassandra Internals and Performance
Apache Cassandra in Bangalore - Cassandra Internals and PerformanceApache Cassandra in Bangalore - Cassandra Internals and Performance
Apache Cassandra in Bangalore - Cassandra Internals and Performance
 
What the CRaC - Superfast JVM startup
What the CRaC - Superfast JVM startupWhat the CRaC - Superfast JVM startup
What the CRaC - Superfast JVM startup
 
weblogic perfomence tuning
weblogic perfomence tuningweblogic perfomence tuning
weblogic perfomence tuning
 
Remote Procedure Call
Remote Procedure CallRemote Procedure Call
Remote Procedure Call
 
Non-blocking I/O, Event loops and node.js
Non-blocking I/O, Event loops and node.jsNon-blocking I/O, Event loops and node.js
Non-blocking I/O, Event loops and node.js
 
WCM Transfer Services
WCM Transfer Services WCM Transfer Services
WCM Transfer Services
 
Capturing NIC and Kernel TX and RX Timestamps for Packets in Go
Capturing NIC and Kernel TX and RX Timestamps for Packets in GoCapturing NIC and Kernel TX and RX Timestamps for Packets in Go
Capturing NIC and Kernel TX and RX Timestamps for Packets in Go
 
WSO2 Product Release Webinar: WSO2 Complex Event Processor 4.0
WSO2 Product Release Webinar: WSO2 Complex Event Processor 4.0WSO2 Product Release Webinar: WSO2 Complex Event Processor 4.0
WSO2 Product Release Webinar: WSO2 Complex Event Processor 4.0
 
05 module managing your network enviornment
05  module managing your network enviornment05  module managing your network enviornment
05 module managing your network enviornment
 
Alexey Orlenko ''High-performance IPC and RPC for microservices and apps''
Alexey Orlenko ''High-performance IPC and RPC for microservices and apps''Alexey Orlenko ''High-performance IPC and RPC for microservices and apps''
Alexey Orlenko ''High-performance IPC and RPC for microservices and apps''
 
Sun RPC (Remote Procedure Call)
Sun RPC (Remote Procedure Call)Sun RPC (Remote Procedure Call)
Sun RPC (Remote Procedure Call)
 
1230 Rtf Final
1230 Rtf Final1230 Rtf Final
1230 Rtf Final
 
Server side JavaScript: going all the way
Server side JavaScript: going all the wayServer side JavaScript: going all the way
Server side JavaScript: going all the way
 
Router Queue Simulation in C++ in MMNN and MM1 conditions
Router Queue Simulation in C++ in MMNN and MM1 conditionsRouter Queue Simulation in C++ in MMNN and MM1 conditions
Router Queue Simulation in C++ in MMNN and MM1 conditions
 
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
 
Ns2 introduction 2
Ns2 introduction 2Ns2 introduction 2
Ns2 introduction 2
 
Troubleshooting TCP/IP
Troubleshooting TCP/IPTroubleshooting TCP/IP
Troubleshooting TCP/IP
 
05 tp mon_orbs
05 tp mon_orbs05 tp mon_orbs
05 tp mon_orbs
 
Cassandra Internals Overview
Cassandra Internals OverviewCassandra Internals Overview
Cassandra Internals Overview
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Recently uploaded (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Cassandra 2.1 boot camp, Overview