SlideShare ist ein Scribd-Unternehmen logo
1 von 106
Downloaden Sie, um offline zu lesen
Cluster Consensus
When Aeron Met Raft
Martin Thompson - @mjpt777
What does “Consensus” mean?
con•sen•sus
noun  kən-ˈsen(t)-səs 
: general agreement : unanimity
Source: http://www.merriam-webster.com/
con•sen•sus
noun  kən-ˈsen(t)-səs 
: general agreement : unanimity
: the judgment arrived at by most of those
concerned
Source: http://www.merriam-webster.com/
Consensus on what?
Message - 1
Message - 2
Message - 3
Message - 4
Message - 5
Message - 6
Message - 1
Message - 2
Message - 3
Message - 4
Message - 5
Message - 6
State
Machine
In Memory
Model
Message - 1
Message - 2
Message - 3
Message - 4
Message - 5
Message - 6
State
Machine
In Memory
Model
Actors
Event
Sourcing
CQRS
Command
Sourcing
WAL
Immutable
Log
https://raft.github.io/raft.pdf
https://www.cl.cam.ac.uk/~ms705/pub/papers/2015-osr-raft.pdf
Raft in a Nutshell
Roles
CandidateFollower Leader
RPCs
1. RequestVote RPC
Invoked by candidates to gather votes
RPCs
1. RequestVote RPC
Invoked by candidates to gather votes
2. AppendEntries RPC
Invoked by leader to replicate and heartbeat
Safety Guarantees
• Election Safety
• Leader Append-Only
• Log Matching
• Leader Completeness
• State Machine Safety
Monotonic Functions
Version all the things!
Clustering Aeron
Is it Guaranteed Delivery™ ???
What is the “Architect” really looking for?
“Guaranteed Processing™”
There are many
design approaches
Client Client Client Client Client
Service
Client Client Client Client Client
Service
Client Client Client Client Client
Consensus
Module
Service
Consensus
Module
Service
Client Client Client Client Client
Consensus
Module
Service
Consensus
Module
Service
Consensus
Module
Service
NIO Pain!
Do servers crash?
FileChannel channel = null;
try
{
channel = FileChannel.open(directory.toPath());
}
catch (final IOException ignore)
{
}
if (null != channel)
{
channel.force(true);
}
FileChannel channel = null;
try
{
channel = FileChannel.open(directory.toPath());
}
catch (final IOException ignore)
{
}
if (null != channel)
{
channel.force(true);
}
FileChannel channel = null;
try
{
channel = FileChannel.open(directory.toPath());
}
catch (final IOException ignore)
{
}
if (null != channel)
{
channel.force(true);
}
Directory Sync
Files.force(directory.toPath(), true);
Performance
Let’s consider an
RPC design approach
Client Client Client Client Client
Consensus
Module
Service
Consensus
Module
Service
Consensus
Module
Service
Client Client Client Client Client
Consensus
Module
Service
Consensus
Module
Service
Consensus
Module
Service
Client Client Client Client Client
Consensus
Module
Service
Consensus
Module
Service
Consensus
Module
Service
Client Client Client Client Client
Consensus
Module
Service
Consensus
Module
Service
Consensus
Module
Service
Client Client Client Client Client
Consensus
Module
Service
Consensus
Module
Service
Consensus
Module
Service
Client Client Client Client Client
Consensus
Module
Service
Consensus
Module
Service
Consensus
Module
Service
Client Client Client Client Client
Consensus
Module
Service
Consensus
Module
Service
Consensus
Module
Service
Client Client Client Client Client
Consensus
Module
Service
Consensus
Module
Service
Consensus
Module
Service
Client Client Client Client Client
Consensus
Module
Service
Consensus
Module
Service
Consensus
Module
Service
Concurrency and/or Parallelism?
1. Parallel is the opposite of Serial
2. Concurrent is the opposite of Sequential
3. Vector is the opposite of Scalar
– John Gustafson
Fetch
Time
Instruction Pipelining
Fetch Decode
Time
Instruction Pipelining
Fetch Decode Execute
Time
Instruction Pipelining
Fetch Decode Execute Retire
Time
Instruction Pipelining
Fetch Decode Execute Retire
Time
Fetch Decode Execute Retire
Instruction Pipelining
Fetch Decode Execute Retire
Time
Fetch Decode Execute Retire
Fetch Decode Execute Retire
Instruction Pipelining
Fetch Decode Execute Retire
Time
Fetch Decode Execute Retire
Fetch Decode Execute Retire
Fetch Decode Execute Retire
Instruction Pipelining
Order
Time
Consensus Pipeline
Order Log
Time
Consensus Pipeline
Order Log Transmit
Time
Consensus Pipeline
Order Log Transmit Commit
Time
Consensus Pipeline
Order Log Transmit Commit
Time
Consensus Pipeline
Execute
Order Log Transmit Commit
Time
Consensus Pipeline
Execute
Order Log Transmit Commit Execute
Order Log Transmit Commit
Time
Consensus Pipeline
Execute
Order Log Transmit Commit Execute
Order Log Transmit Commit Execute
Client Client Client Client Client
Consensus
Module
Service
Consensus
Module
Service
Consensus
Module
Service
Client Client Client Client Client
Consensus
Module
Service
Consensus
Module
Service
Consensus
Module
Service
Client Client Client Client Client
Consensus
Module
Service
Consensus
Module
Service
Consensus
Module
Service
Client Client Client Client Client
Consensus
Module
Service
Consensus
Module
Service
Consensus
Module
Service
Client Client Client Client Client
Consensus
Module
Service
Consensus
Module
Service
Consensus
Module
Service
Client Client Client Client Client
Consensus
Module
Service
Consensus
Module
Service
Consensus
Module
Service
Client Client Client Client Client
Consensus
Module
Service
Consensus
Module
Service
Consensus
Module
Service
Client Client Client Client Client
Consensus
Module
Service
Consensus
Module
Service
Consensus
Module
Service
Client Client Client Client Client
Consensus
Module
Service
Consensus
Module
Service
Consensus
Module
Service
NIO Pain!
ByteBuffer byte copies
ByteBuffer byteBuffer = ByteBuffer.allocate(64 * 1024);
byteBuffer.putInt(index, value);
ByteBuffer byte copies
ByteBuffer byteBuffer = ByteBuffer.allocate(64 * 1024);
byteBuffer.putBytes(index, bytes);
ByteBuffer byte copies
ByteBuffer byteBuffer = ByteBuffer.allocate(64 * 1024);
byteBuffer.putBytes(index, bytes);
How can Aeron help?
Message Index => Byte Index
Multicast, MDC, and Spy
based Messaging
Counters
=>
Bounded Consumption
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
0 5 10 15 20
Batching – Amortising Costs
Average overhead
per item or operation
in batch
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
0 5 10 15 20
Batching – Amortising Costs
• System calls
• Network round trips
• Disk writes
• Expensive computations
Interesting Features
Timers
All state must enter the system
as a message!
public void foo()
{
// Decide to schedule a timer
cluster.scheduleTimer(correlationId, cluster.timeMs() + TimeUnit.SECONDS.toMillis(5));
}
public void onTimerEvent(final long correlationId, final long timestampMs)
{
// Look up the correlationId associated with the timer
}
Timers
public void foo()
{
// Decide to schedule a timer
cluster.scheduleTimer(correlationId, cluster.timeMs() + TimeUnit.SECONDS.toMillis(5));
}
public void onTimerEvent(final long correlationId, final long timestampMs)
{
// Look up the correlationId associated with the timer
}
Timers
public void foo()
{
// Decide to schedule a timer
cluster.scheduleTimer(correlationId, cluster.timeMs() + TimeUnit.SECONDS.toMillis(5));
}
public void onTimerEvent(final long correlationId, final long timestampMs)
{
// Look up the correlationId associated with the timer
}
Timers
Back Pressure and Stashed Work
public ControlledFragmentAssembler.Action onSessionMessage(
final DirectBuffer buffer,
final int offset,
final int length,
final long clusterSessionId,
final long correlationId)
{
final ClusterSession session = sessionByIdMap.get(clusterSessionId);
if (null == session || session.state() == CLOSED)
{
return ControlledFragmentHandler.Action.CONTINUE;
}
final long nowMs = cachedEpochClock.time();
if (session.state() == OPEN && logPublisher.appendMessage(buffer, offset, length, nowMs))
{
session.lastActivity(nowMs, correlationId);
return ControlledFragmentHandler.Action.CONTINUE;
}
return ControlledFragmentHandler.Action.ABORT;
}
Back Pressure
public ControlledFragmentAssembler.Action onSessionMessage(
final DirectBuffer buffer,
final int offset,
final int length,
final long clusterSessionId,
final long correlationId)
{
final ClusterSession session = sessionByIdMap.get(clusterSessionId);
if (null == session || session.state() == CLOSED)
{
return ControlledFragmentHandler.Action.CONTINUE;
}
final long nowMs = cachedEpochClock.time();
if (session.state() == OPEN && logPublisher.appendMessage(buffer, offset, length, nowMs))
{
session.lastActivity(nowMs, correlationId);
return ControlledFragmentHandler.Action.CONTINUE;
}
return ControlledFragmentHandler.Action.ABORT;
}
Back Pressure
public ControlledFragmentAssembler.Action onSessionMessage(
final DirectBuffer buffer,
final int offset,
final int length,
final long clusterSessionId,
final long correlationId)
{
final ClusterSession session = sessionByIdMap.get(clusterSessionId);
if (null == session || session.state() == CLOSED)
{
return ControlledFragmentHandler.Action.CONTINUE;
}
final long nowMs = cachedEpochClock.time();
if (session.state() == OPEN && logPublisher.appendMessage(buffer, offset, length, nowMs))
{
session.lastActivity(nowMs, correlationId);
return ControlledFragmentHandler.Action.CONTINUE;
}
return ControlledFragmentHandler.Action.ABORT;
}
Back Pressure
public ControlledFragmentAssembler.Action onSessionMessage(
final DirectBuffer buffer,
final int offset,
final int length,
final long clusterSessionId,
final long correlationId)
{
final ClusterSession session = sessionByIdMap.get(clusterSessionId);
if (null == session || session.state() == CLOSED)
{
return ControlledFragmentHandler.Action.CONTINUE;
}
final long nowMs = cachedEpochClock.time();
if (session.state() == OPEN && logPublisher.appendMessage(buffer, offset, length, nowMs))
{
session.lastActivity(nowMs, correlationId);
return ControlledFragmentHandler.Action.CONTINUE;
}
return ControlledFragmentHandler.Action.ABORT;
}
Back Pressure
public ControlledFragmentAssembler.Action onSessionMessage(
final DirectBuffer buffer,
final int offset,
final int length,
final long clusterSessionId,
final long correlationId)
{
final ClusterSession session = sessionByIdMap.get(clusterSessionId);
if (null == session || session.state() == CLOSED)
{
return ControlledFragmentHandler.Action.CONTINUE;
}
final long nowMs = cachedEpochClock.time();
if (session.state() == OPEN && logPublisher.appendMessage(buffer, offset, length, nowMs))
{
session.lastActivity(nowMs, correlationId);
return ControlledFragmentHandler.Action.CONTINUE;
}
return ControlledFragmentHandler.Action.ABORT;
}
Back Pressure
Log Replay and Snapshots
Log Replay and Snapshots
Distributed File System?
Log Replay and Snapshots
Distributed File System?
Aeron Archive
Recorded Streams
Multiple Services on the
same stream
Client Client Client Client Client
Consensus
Module
Service
Consensus
Module
Service
Consensus
Module
Service
Client Client Client Client Client
Consensus
Module
Service
Consensus
Module
Service
Consensus
Module
Service
Service
Service
Service
Service
Service
Service
NIO Pain!
MappedByteBuffer DirectByteBuffer
1 2
DirectByteBuffer MappedByteBuffer
MappedByteBuffer DirectByteBuffer
1 2
DirectByteBuffer MappedByteBuffer
MappedByteBuffer DirectByteBuffer
1 2
In Closing
What’s the Roadmap?
https://github.com/real-logic/aeron
Twitter: @mjpt777
“A distributed system is one in which the failure
of a computer you didn't even know existed
can render your own computer unusable.”
- Leslie Lamport
Questions?

Weitere ähnliche Inhalte

Ähnlich wie Cluster Consensus: when Aeron met Raft

Migrate volume in akfiler7
Migrate volume in akfiler7Migrate volume in akfiler7
Migrate volume in akfiler7Accenture
 
HBaseCon 2013: How (and Why) Phoenix Puts the SQL Back into NoSQL
HBaseCon 2013: How (and Why) Phoenix Puts the SQL Back into NoSQLHBaseCon 2013: How (and Why) Phoenix Puts the SQL Back into NoSQL
HBaseCon 2013: How (and Why) Phoenix Puts the SQL Back into NoSQLCloudera, Inc.
 
Resilence patterns kr
Resilence patterns krResilence patterns kr
Resilence patterns krJisung Ahn
 
Node.js Event Loop & EventEmitter
Node.js Event Loop & EventEmitterNode.js Event Loop & EventEmitter
Node.js Event Loop & EventEmitterSimen Li
 
Buenos Aires Drools Expert Presentation
Buenos Aires Drools Expert PresentationBuenos Aires Drools Expert Presentation
Buenos Aires Drools Expert PresentationMark Proctor
 
Loophole: Timing Attacks on Shared Event Loops in Chrome
Loophole: Timing Attacks on Shared Event Loops in ChromeLoophole: Timing Attacks on Shared Event Loops in Chrome
Loophole: Timing Attacks on Shared Event Loops in Chromecgvwzq
 
Cassandra 2.1 boot camp, Overview
Cassandra 2.1 boot camp, OverviewCassandra 2.1 boot camp, Overview
Cassandra 2.1 boot camp, OverviewJoshua McKenzie
 
Mining Branch-Time Scenarios From Execution Logs
Mining Branch-Time Scenarios From Execution LogsMining Branch-Time Scenarios From Execution Logs
Mining Branch-Time Scenarios From Execution LogsDirk Fahland
 
Behind modern concurrency primitives
Behind modern concurrency primitivesBehind modern concurrency primitives
Behind modern concurrency primitivesBartosz Sypytkowski
 
RTOS Material hfffffffffffffffffffffffffffffffffffff
RTOS Material hfffffffffffffffffffffffffffffffffffffRTOS Material hfffffffffffffffffffffffffffffffffffff
RTOS Material hfffffffffffffffffffffffffffffffffffffadugnanegero
 
Distributed Consensus: Making Impossible Possible [Revised]
Distributed Consensus: Making Impossible Possible [Revised]Distributed Consensus: Making Impossible Possible [Revised]
Distributed Consensus: Making Impossible Possible [Revised]Heidi Howard
 
Naked Performance With Clojure
Naked Performance With ClojureNaked Performance With Clojure
Naked Performance With ClojureMetosin Oy
 
Behind modern concurrency primitives
Behind modern concurrency primitivesBehind modern concurrency primitives
Behind modern concurrency primitivesBartosz Sypytkowski
 
Flink Forward SF 2017: Stefan Richter - Improvements for large state and reco...
Flink Forward SF 2017: Stefan Richter - Improvements for large state and reco...Flink Forward SF 2017: Stefan Richter - Improvements for large state and reco...
Flink Forward SF 2017: Stefan Richter - Improvements for large state and reco...Flink Forward
 
Cancel, Retry and Timeouts: Keep Your Sanity Thanks to Reactive Programming
Cancel, Retry and Timeouts: Keep Your Sanity Thanks to Reactive ProgrammingCancel, Retry and Timeouts: Keep Your Sanity Thanks to Reactive Programming
Cancel, Retry and Timeouts: Keep Your Sanity Thanks to Reactive ProgrammingVMware Tanzu
 
Mule Quartz connector
Mule Quartz connectorMule Quartz connector
Mule Quartz connectorAnkush Sharma
 
Multi-camera Time-of-Flight Systems | SIGGRAPH 2016
Multi-camera Time-of-Flight Systems | SIGGRAPH 2016Multi-camera Time-of-Flight Systems | SIGGRAPH 2016
Multi-camera Time-of-Flight Systems | SIGGRAPH 2016StanfordComputationalImaging
 

Ähnlich wie Cluster Consensus: when Aeron met Raft (20)

Migrate volume in akfiler7
Migrate volume in akfiler7Migrate volume in akfiler7
Migrate volume in akfiler7
 
HBaseCon 2013: How (and Why) Phoenix Puts the SQL Back into NoSQL
HBaseCon 2013: How (and Why) Phoenix Puts the SQL Back into NoSQLHBaseCon 2013: How (and Why) Phoenix Puts the SQL Back into NoSQL
HBaseCon 2013: How (and Why) Phoenix Puts the SQL Back into NoSQL
 
Resilence patterns kr
Resilence patterns krResilence patterns kr
Resilence patterns kr
 
Node.js Event Loop & EventEmitter
Node.js Event Loop & EventEmitterNode.js Event Loop & EventEmitter
Node.js Event Loop & EventEmitter
 
Buenos Aires Drools Expert Presentation
Buenos Aires Drools Expert PresentationBuenos Aires Drools Expert Presentation
Buenos Aires Drools Expert Presentation
 
Loophole: Timing Attacks on Shared Event Loops in Chrome
Loophole: Timing Attacks on Shared Event Loops in ChromeLoophole: Timing Attacks on Shared Event Loops in Chrome
Loophole: Timing Attacks on Shared Event Loops in Chrome
 
Cassandra 2.1 boot camp, Overview
Cassandra 2.1 boot camp, OverviewCassandra 2.1 boot camp, Overview
Cassandra 2.1 boot camp, Overview
 
Mining Branch-Time Scenarios From Execution Logs
Mining Branch-Time Scenarios From Execution LogsMining Branch-Time Scenarios From Execution Logs
Mining Branch-Time Scenarios From Execution Logs
 
Behind modern concurrency primitives
Behind modern concurrency primitivesBehind modern concurrency primitives
Behind modern concurrency primitives
 
RTOS Material hfffffffffffffffffffffffffffffffffffff
RTOS Material hfffffffffffffffffffffffffffffffffffffRTOS Material hfffffffffffffffffffffffffffffffffffff
RTOS Material hfffffffffffffffffffffffffffffffffffff
 
Distributed Consensus: Making Impossible Possible [Revised]
Distributed Consensus: Making Impossible Possible [Revised]Distributed Consensus: Making Impossible Possible [Revised]
Distributed Consensus: Making Impossible Possible [Revised]
 
Naked Performance With Clojure
Naked Performance With ClojureNaked Performance With Clojure
Naked Performance With Clojure
 
Behind modern concurrency primitives
Behind modern concurrency primitivesBehind modern concurrency primitives
Behind modern concurrency primitives
 
Flink Forward SF 2017: Stefan Richter - Improvements for large state and reco...
Flink Forward SF 2017: Stefan Richter - Improvements for large state and reco...Flink Forward SF 2017: Stefan Richter - Improvements for large state and reco...
Flink Forward SF 2017: Stefan Richter - Improvements for large state and reco...
 
Cancel, Retry and Timeouts: Keep Your Sanity Thanks to Reactive Programming
Cancel, Retry and Timeouts: Keep Your Sanity Thanks to Reactive ProgrammingCancel, Retry and Timeouts: Keep Your Sanity Thanks to Reactive Programming
Cancel, Retry and Timeouts: Keep Your Sanity Thanks to Reactive Programming
 
Google Spanner
Google SpannerGoogle Spanner
Google Spanner
 
Mule Quartz connector
Mule Quartz connectorMule Quartz connector
Mule Quartz connector
 
WCM Transfer Services
WCM Transfer Services WCM Transfer Services
WCM Transfer Services
 
Multi-camera Time-of-Flight Systems | SIGGRAPH 2016
Multi-camera Time-of-Flight Systems | SIGGRAPH 2016Multi-camera Time-of-Flight Systems | SIGGRAPH 2016
Multi-camera Time-of-Flight Systems | SIGGRAPH 2016
 
JBoss World 2011 - Drools
JBoss World 2011 - DroolsJBoss World 2011 - Drools
JBoss World 2011 - Drools
 

Mehr von J On The Beach

Massively scalable ETL in real world applications: the hard way
Massively scalable ETL in real world applications: the hard wayMassively scalable ETL in real world applications: the hard way
Massively scalable ETL in real world applications: the hard wayJ On The Beach
 
Big Data On Data You Don’t Have
Big Data On Data You Don’t HaveBig Data On Data You Don’t Have
Big Data On Data You Don’t HaveJ On The Beach
 
Acoustic Time Series in Industry 4.0: Improved Reliability and Cyber-Security...
Acoustic Time Series in Industry 4.0: Improved Reliability and Cyber-Security...Acoustic Time Series in Industry 4.0: Improved Reliability and Cyber-Security...
Acoustic Time Series in Industry 4.0: Improved Reliability and Cyber-Security...J On The Beach
 
Pushing it to the edge in IoT
Pushing it to the edge in IoTPushing it to the edge in IoT
Pushing it to the edge in IoTJ On The Beach
 
Drinking from the firehose, with virtual streams and virtual actors
Drinking from the firehose, with virtual streams and virtual actorsDrinking from the firehose, with virtual streams and virtual actors
Drinking from the firehose, with virtual streams and virtual actorsJ On The Beach
 
How do we deploy? From Punched cards to Immutable server pattern
How do we deploy? From Punched cards to Immutable server patternHow do we deploy? From Punched cards to Immutable server pattern
How do we deploy? From Punched cards to Immutable server patternJ On The Beach
 
When Cloud Native meets the Financial Sector
When Cloud Native meets the Financial SectorWhen Cloud Native meets the Financial Sector
When Cloud Native meets the Financial SectorJ On The Beach
 
The big data Universe. Literally.
The big data Universe. Literally.The big data Universe. Literally.
The big data Universe. Literally.J On The Beach
 
Streaming to a New Jakarta EE
Streaming to a New Jakarta EEStreaming to a New Jakarta EE
Streaming to a New Jakarta EEJ On The Beach
 
The TIPPSS Imperative for IoT - Ensuring Trust, Identity, Privacy, Protection...
The TIPPSS Imperative for IoT - Ensuring Trust, Identity, Privacy, Protection...The TIPPSS Imperative for IoT - Ensuring Trust, Identity, Privacy, Protection...
The TIPPSS Imperative for IoT - Ensuring Trust, Identity, Privacy, Protection...J On The Beach
 
Pushing AI to the Client with WebAssembly and Blazor
Pushing AI to the Client with WebAssembly and BlazorPushing AI to the Client with WebAssembly and Blazor
Pushing AI to the Client with WebAssembly and BlazorJ On The Beach
 
Axon Server went RAFTing
Axon Server went RAFTingAxon Server went RAFTing
Axon Server went RAFTingJ On The Beach
 
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...The Six Pitfalls of building a Microservices Architecture (and how to avoid t...
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...J On The Beach
 
Madaari : Ordering For The Monkeys
Madaari : Ordering For The MonkeysMadaari : Ordering For The Monkeys
Madaari : Ordering For The MonkeysJ On The Beach
 
Servers are doomed to fail
Servers are doomed to failServers are doomed to fail
Servers are doomed to failJ On The Beach
 
Interaction Protocols: It's all about good manners
Interaction Protocols: It's all about good mannersInteraction Protocols: It's all about good manners
Interaction Protocols: It's all about good mannersJ On The Beach
 
A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...
A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...
A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...J On The Beach
 
Leadership at every level
Leadership at every levelLeadership at every level
Leadership at every levelJ On The Beach
 
Machine Learning: The Bare Math Behind Libraries
Machine Learning: The Bare Math Behind LibrariesMachine Learning: The Bare Math Behind Libraries
Machine Learning: The Bare Math Behind LibrariesJ On The Beach
 

Mehr von J On The Beach (20)

Massively scalable ETL in real world applications: the hard way
Massively scalable ETL in real world applications: the hard wayMassively scalable ETL in real world applications: the hard way
Massively scalable ETL in real world applications: the hard way
 
Big Data On Data You Don’t Have
Big Data On Data You Don’t HaveBig Data On Data You Don’t Have
Big Data On Data You Don’t Have
 
Acoustic Time Series in Industry 4.0: Improved Reliability and Cyber-Security...
Acoustic Time Series in Industry 4.0: Improved Reliability and Cyber-Security...Acoustic Time Series in Industry 4.0: Improved Reliability and Cyber-Security...
Acoustic Time Series in Industry 4.0: Improved Reliability and Cyber-Security...
 
Pushing it to the edge in IoT
Pushing it to the edge in IoTPushing it to the edge in IoT
Pushing it to the edge in IoT
 
Drinking from the firehose, with virtual streams and virtual actors
Drinking from the firehose, with virtual streams and virtual actorsDrinking from the firehose, with virtual streams and virtual actors
Drinking from the firehose, with virtual streams and virtual actors
 
How do we deploy? From Punched cards to Immutable server pattern
How do we deploy? From Punched cards to Immutable server patternHow do we deploy? From Punched cards to Immutable server pattern
How do we deploy? From Punched cards to Immutable server pattern
 
Java, Turbocharged
Java, TurbochargedJava, Turbocharged
Java, Turbocharged
 
When Cloud Native meets the Financial Sector
When Cloud Native meets the Financial SectorWhen Cloud Native meets the Financial Sector
When Cloud Native meets the Financial Sector
 
The big data Universe. Literally.
The big data Universe. Literally.The big data Universe. Literally.
The big data Universe. Literally.
 
Streaming to a New Jakarta EE
Streaming to a New Jakarta EEStreaming to a New Jakarta EE
Streaming to a New Jakarta EE
 
The TIPPSS Imperative for IoT - Ensuring Trust, Identity, Privacy, Protection...
The TIPPSS Imperative for IoT - Ensuring Trust, Identity, Privacy, Protection...The TIPPSS Imperative for IoT - Ensuring Trust, Identity, Privacy, Protection...
The TIPPSS Imperative for IoT - Ensuring Trust, Identity, Privacy, Protection...
 
Pushing AI to the Client with WebAssembly and Blazor
Pushing AI to the Client with WebAssembly and BlazorPushing AI to the Client with WebAssembly and Blazor
Pushing AI to the Client with WebAssembly and Blazor
 
Axon Server went RAFTing
Axon Server went RAFTingAxon Server went RAFTing
Axon Server went RAFTing
 
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...The Six Pitfalls of building a Microservices Architecture (and how to avoid t...
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...
 
Madaari : Ordering For The Monkeys
Madaari : Ordering For The MonkeysMadaari : Ordering For The Monkeys
Madaari : Ordering For The Monkeys
 
Servers are doomed to fail
Servers are doomed to failServers are doomed to fail
Servers are doomed to fail
 
Interaction Protocols: It's all about good manners
Interaction Protocols: It's all about good mannersInteraction Protocols: It's all about good manners
Interaction Protocols: It's all about good manners
 
A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...
A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...
A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...
 
Leadership at every level
Leadership at every levelLeadership at every level
Leadership at every level
 
Machine Learning: The Bare Math Behind Libraries
Machine Learning: The Bare Math Behind LibrariesMachine Learning: The Bare Math Behind Libraries
Machine Learning: The Bare Math Behind Libraries
 

Kürzlich hochgeladen

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Kürzlich hochgeladen (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

Cluster Consensus: when Aeron met Raft