SlideShare a Scribd company logo
1 of 28
Download to read offline
REACTIVE
SYSTEMS
with
OMG’s Data Distribution Service (DDS)
Abdullah Ozturkbased on The Reactive Manifesto
INTRODUCTION
• Traditional software solutions;
• Use managed servers and containers,
• Scale via larger servers and multi-threading.
Today’s Requirements
• However, today’s requirements demand new
technologies;
• Deployed on everything (mobile, cloud clusters etc.),
• Thousands of multicore processors,
• Low response time (milli-, or even micro-second),
• 100% uptime (highly available),
• Big data (petabytes).
GOING REACTIVE
• Coherent approach to systems architecture is needed.
• Reactive Systems meet these requirements;
• Responsive,
• Resilient,
• Elastic
• and Message Driven.
Reactive Systems
• Reactive Systems are more flexible, loosely-coupled
and scalable.
• They are easier to develop and amenable to change.
• They are significantly more tolerant of failure and
when failure occurs they meet it with elegance.
• Reactive Systems are highly responsive, giving users
effective interactive feedback.
Publish-Subscribe
• Publish-subscribe architecture of DDS promotes a loose
coupling in space and time.
• No shared mutable state, synchronization and blocking
operations.
• Publishers and subscribers can join and leave to a data
domain anytime, express their intent by topics.
• Loosely coupled design of DDS allows better scalability.
Loose-Coupling
• Loose coupling and location independence make it
possible to scale out the system onto multiple nodes.
• By location transparency, topology of the application
becomes a deployment decision.
• It enables distributed systems that are easier to
design, implement, integrate, deploy and maintain.
Data-Centric Architecture
• Components interact through production and consumption of
data.
• DDS middleware employs a data-centric integration model to
decouple applications.
• DDS middleware knows your data, allows filtering, and
provides tailored data management through Quality-of-
Services (QoS).
RESILIENCE
• The system stays responsive in the face of failure.
• Resilience is achieved by replication, containment,
isolation and delegation.
• Failures are contained within each component, isolating
components from each other.
• Parts of the system can fail and recover without
compromising the system as a whole.
• High-availability is ensured by replication where necessary.
Bulkhead Pattern
• In the bulkhead pattern, a system is built up from
safe compartments that prevents the classic problem
of cascading failures.
• DDS provides fully isolated components in which
failures can be captured, encapsulated as messages,
and sent off to other components that can decide how
to respond.
Fault Tolerance
• A failure is an unexpected event within a service that prevents it
from continuing to function normally.
• DDS middleware provides fault tolerance;
• By providing historical data in last value caches to late joiners.
• Makes data survive application, or system failures by
durability quality of service.
• Monitors the presence, health and activity of DDS entities.
• Handles redundant data sources and failover by ownership.
No Single Point of Failure
• Scalability is typically limited by the introduction of
bottlenecks or synchronization points within the
system.
• Loosely coupled DDS applications without central
brokers have no single points of failure.
Replication
• Executing a component
simultaneously in different places.
It offers scalability and resilience.
• Incoming workload can be
distributed across multiple
instances of a component by
using DDS content-filtered topics.
• Incoming workload can be
replicated to multiple subscribers
which process the same requests
in parallel.
Isolation
• Decoupling, both in time and space.
• DDS entities have independent life-cycles—they do
not need to be present at the same time or at the same
process for communication to be possible.
• It is enabled by adding asynchronous boundaries
between the components, communicating through
message-passing.
Reliability
• DDS middleware provides that the right data is
delivered reliably and in real-time to the right
subscriber applications.
• Applications that respond to events need to do so in a
timely manner, even in the presence of failure.
• Deadline QoS of DDS enforces expected time
requirements, and time based filter QoS controls
data delivery rates.
ELASTICITY
• Stays responsive under varying workload.
• Reacts to changes in the input rate by increasing or
decreasing the resources allocated to service.
• No contention points or central bottlenecks in DDS,
resulting in the ability to shard or replicate
components and distribute inputs among them.
• Achieves elasticity in a cost-effective way.
Scalability
• Scalability is achieved by adding more computing
resources (elasticity) without redesigning or
rewriting the application.
• Its performance is measured by the ratio of
throughput gain to resource increase.
• A system based on DDS is capable of being easily
expanded or upgraded on demand by adding more
publishers and subscribers.
Message-Driven
• A message is an item of data that is sent to a specific
destination.
• In a message-driven system using DDS, addressable
recipients (subscribers) await the arrival of messages and
react to them, otherwise lying dormant.
• A message can contain an encoded event as its payload.
• With the message-driven design of DDS, it is easier to
extend, evolve and maintain applications, it gives more
flexibility and reduces maintenance cost.
Asynchronous
• It means that the processing of a request occurs at an
arbitrary point in time.
• DDS middleware ensures loose coupling, isolation,
location transparency, and provides the means to
delegate errors as messages.
• DDS allows the application a choice either get notified
asynchronously by attached listeners, or wait data in
blocking.
Event-Driven
• Events—discrete pieces of information describing facts.
• DDS middleware notifies the user application of relevant
events i.e. arrival of data, QoS violations, entities
matched, liveliness changed, deadline missed, and
sample lost/rejected.
• DDS provides listeners to monitor delivery related events
and to notify applications when these events occur.
Location Transparency
• Decoupling in space, enabled through asynchronous
message-passing.
• If all components support mobility, then we do not
have to define a static system topology upfront.
• Makes it possible for the management of failure to
work with the same constructs and semantics across a
cluster or within a single host.
Non-Blocking
• Allows the caller the option to do other work rather
than be blocked waiting on the resource to become
available.
• Non-blocking communication allows recipients to
only consume resources while active, leading to less
system overhead.
• Non-blocking operations (read/write) of DDS make
the application to be responsive at all times and
efficient use of existing resources.
RESPONSIVENESS
• The system responds in a timely manner if at all
possible.
• Responsiveness is the cornerstone of usability.
• Responsive systems establish reliable upper bounds
so they deliver a consistent quality of service.
High-Concurrency
• High concurrency by design makes use of
multicores without changes.
• DDS middleware allows creating multiple subscribers
or publishers to increase concurrency.
Performance
• DDS enables low latency and high throughput under
heavy load.
• Specifies a compact data encoding on the wire.
• Supports asynchronous notification mechanisms.
• Keeps data copies to a minimum.
• Allows controlling timing, communication channel
priority and resource utilization for real-time systems.
Platform Independence
• DDS provides tools as common building blocks for solving the
complex problems arising in a distributed environment.
• Supports type safety by using a platform independent language.
• Standardized well-defined APIs help ensure maximum
portability.
• Provides programming language independence.
• Provides operating system and hardware independence.
• Enables on the wire interoperability by a standard wire protocol.
Conclusion
• Reactive Systems apply design principles.
• The largest systems in the world rely upon
architectures based on these properties.
• OMG’s DDS middleware makes it possible to design
and develop reactive systems.
Thank You
• Questions?
Abdullah Ozturk
Technical Lead, MilSOFT DDS

More Related Content

What's hot

Crypto multi tenant an environment of secure computing using cloud sql
Crypto multi tenant an environment of secure computing using cloud sqlCrypto multi tenant an environment of secure computing using cloud sql
Crypto multi tenant an environment of secure computing using cloud sqlijdpsjournal
 
Excellent Manner of Using Secure way of data storage in cloud computing
Excellent Manner of Using Secure way of data storage in cloud computingExcellent Manner of Using Secure way of data storage in cloud computing
Excellent Manner of Using Secure way of data storage in cloud computingEditor IJMTER
 
Unit 3 -Data storage and cloud computing
Unit 3 -Data storage and cloud computingUnit 3 -Data storage and cloud computing
Unit 3 -Data storage and cloud computingMonishaNehkal
 
zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data FabricAngelo Corsaro
 
Analysis-of-Security-Algorithms-in-Cloud-Computing [Autosaved]
Analysis-of-Security-Algorithms-in-Cloud-Computing [Autosaved]Analysis-of-Security-Algorithms-in-Cloud-Computing [Autosaved]
Analysis-of-Security-Algorithms-in-Cloud-Computing [Autosaved]Mahmuda Rahman
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
 
A Study of Data Storage Security Issues in Cloud Computing
A Study of Data Storage Security Issues in Cloud ComputingA Study of Data Storage Security Issues in Cloud Computing
A Study of Data Storage Security Issues in Cloud Computingvivatechijri
 
Security issues associated with big data in cloud
Security issues associated  with big data in cloudSecurity issues associated  with big data in cloud
Security issues associated with big data in cloudsornalathaNatarajan
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
 
Getting Started with DDS in C++, Java and Scala
Getting Started with DDS in C++, Java and ScalaGetting Started with DDS in C++, Java and Scala
Getting Started with DDS in C++, Java and ScalaAngelo Corsaro
 
ENHANCING SECURITY IN CLOUD COMPUTING BY COMBINING DYNAMIC BROADCAST ENCRYPTI...
ENHANCING SECURITY IN CLOUD COMPUTING BY COMBINING DYNAMIC BROADCAST ENCRYPTI...ENHANCING SECURITY IN CLOUD COMPUTING BY COMBINING DYNAMIC BROADCAST ENCRYPTI...
ENHANCING SECURITY IN CLOUD COMPUTING BY COMBINING DYNAMIC BROADCAST ENCRYPTI...pharmaindexing
 
Analysis of classical encryption techniques in cloud computing
Analysis of classical encryption techniques in cloud computingAnalysis of classical encryption techniques in cloud computing
Analysis of classical encryption techniques in cloud computingredpel dot com
 
Encryption Technique for a Trusted Cloud Computing Environment
Encryption Technique for a Trusted Cloud Computing EnvironmentEncryption Technique for a Trusted Cloud Computing Environment
Encryption Technique for a Trusted Cloud Computing EnvironmentIOSR Journals
 
Identity-Based Distributed Provable Data Possession in Multicloud Storage
Identity-Based Distributed Provable Data Possession in Multicloud StorageIdentity-Based Distributed Provable Data Possession in Multicloud Storage
Identity-Based Distributed Provable Data Possession in Multicloud Storage1crore projects
 
Smart, Secure and Efficient Data Sharing in IoT
Smart, Secure and Efficient Data Sharing in IoTSmart, Secure and Efficient Data Sharing in IoT
Smart, Secure and Efficient Data Sharing in IoTAngelo Corsaro
 

What's hot (18)

Crypto multi tenant an environment of secure computing using cloud sql
Crypto multi tenant an environment of secure computing using cloud sqlCrypto multi tenant an environment of secure computing using cloud sql
Crypto multi tenant an environment of secure computing using cloud sql
 
Excellent Manner of Using Secure way of data storage in cloud computing
Excellent Manner of Using Secure way of data storage in cloud computingExcellent Manner of Using Secure way of data storage in cloud computing
Excellent Manner of Using Secure way of data storage in cloud computing
 
Unit 3 -Data storage and cloud computing
Unit 3 -Data storage and cloud computingUnit 3 -Data storage and cloud computing
Unit 3 -Data storage and cloud computing
 
zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data Fabric
 
Analysis-of-Security-Algorithms-in-Cloud-Computing [Autosaved]
Analysis-of-Security-Algorithms-in-Cloud-Computing [Autosaved]Analysis-of-Security-Algorithms-in-Cloud-Computing [Autosaved]
Analysis-of-Security-Algorithms-in-Cloud-Computing [Autosaved]
 
Kp3419221926
Kp3419221926Kp3419221926
Kp3419221926
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
A Study of Data Storage Security Issues in Cloud Computing
A Study of Data Storage Security Issues in Cloud ComputingA Study of Data Storage Security Issues in Cloud Computing
A Study of Data Storage Security Issues in Cloud Computing
 
Cloud security
Cloud securityCloud security
Cloud security
 
Security issues associated with big data in cloud
Security issues associated  with big data in cloudSecurity issues associated  with big data in cloud
Security issues associated with big data in cloud
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
Getting Started with DDS in C++, Java and Scala
Getting Started with DDS in C++, Java and ScalaGetting Started with DDS in C++, Java and Scala
Getting Started with DDS in C++, Java and Scala
 
Cloudcomputing basics
Cloudcomputing basicsCloudcomputing basics
Cloudcomputing basics
 
ENHANCING SECURITY IN CLOUD COMPUTING BY COMBINING DYNAMIC BROADCAST ENCRYPTI...
ENHANCING SECURITY IN CLOUD COMPUTING BY COMBINING DYNAMIC BROADCAST ENCRYPTI...ENHANCING SECURITY IN CLOUD COMPUTING BY COMBINING DYNAMIC BROADCAST ENCRYPTI...
ENHANCING SECURITY IN CLOUD COMPUTING BY COMBINING DYNAMIC BROADCAST ENCRYPTI...
 
Analysis of classical encryption techniques in cloud computing
Analysis of classical encryption techniques in cloud computingAnalysis of classical encryption techniques in cloud computing
Analysis of classical encryption techniques in cloud computing
 
Encryption Technique for a Trusted Cloud Computing Environment
Encryption Technique for a Trusted Cloud Computing EnvironmentEncryption Technique for a Trusted Cloud Computing Environment
Encryption Technique for a Trusted Cloud Computing Environment
 
Identity-Based Distributed Provable Data Possession in Multicloud Storage
Identity-Based Distributed Provable Data Possession in Multicloud StorageIdentity-Based Distributed Provable Data Possession in Multicloud Storage
Identity-Based Distributed Provable Data Possession in Multicloud Storage
 
Smart, Secure and Efficient Data Sharing in IoT
Smart, Secure and Efficient Data Sharing in IoTSmart, Secure and Efficient Data Sharing in IoT
Smart, Secure and Efficient Data Sharing in IoT
 

Similar to Reactive Systems with Data Distribution Service (DDS)

Distributed operating system
Distributed operating systemDistributed operating system
Distributed operating systemudaya khanal
 
distributed computing: Unleashing collaborative computing power.ppt
distributed computing: Unleashing collaborative computing power.pptdistributed computing: Unleashing collaborative computing power.ppt
distributed computing: Unleashing collaborative computing power.pptrutvik64
 
Centralized vs distrbution system
Centralized vs distrbution systemCentralized vs distrbution system
Centralized vs distrbution systemzirram
 
Technical Best Practices for Veritas and Microsoft Azure Using a Detailed Ref...
Technical Best Practices for Veritas and Microsoft Azure Using a Detailed Ref...Technical Best Practices for Veritas and Microsoft Azure Using a Detailed Ref...
Technical Best Practices for Veritas and Microsoft Azure Using a Detailed Ref...Veritas Technologies LLC
 
distributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdfdistributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdflematadese670
 
Middleware and Middleware in distributed application
Middleware and Middleware in distributed applicationMiddleware and Middleware in distributed application
Middleware and Middleware in distributed applicationRishikese MR
 
Lect 1 Distributed System.pptx
Lect 1 Distributed System.pptxLect 1 Distributed System.pptx
Lect 1 Distributed System.pptxPardonSamson
 
Chapter Introductionn to distributed system .pptx
Chapter Introductionn to distributed system .pptxChapter Introductionn to distributed system .pptx
Chapter Introductionn to distributed system .pptxTekle12
 
Manish tripathi-e-commerce-middleware
Manish tripathi-e-commerce-middlewareManish tripathi-e-commerce-middleware
Manish tripathi-e-commerce-middlewareA P
 
Distributed Operating System.pptx
Distributed Operating System.pptxDistributed Operating System.pptx
Distributed Operating System.pptxHashirAhmad19
 
Distributed Operating System.pptx
Distributed Operating System.pptxDistributed Operating System.pptx
Distributed Operating System.pptxharpreetkaur1129
 
lecture-13.pptx
lecture-13.pptxlecture-13.pptx
lecture-13.pptxlaiba29012
 
Unit 2 part 1.pptx
Unit 2 part 1.pptxUnit 2 part 1.pptx
Unit 2 part 1.pptxSargamKuntal
 
Cloud Computing - Geektalk
Cloud Computing - GeektalkCloud Computing - Geektalk
Cloud Computing - GeektalkMalisa Ncube
 
Cloud computing & security basics
Cloud computing & security   basicsCloud computing & security   basics
Cloud computing & security basicsRahul Gurnani
 
Modulus Datasheets
Modulus DatasheetsModulus Datasheets
Modulus DatasheetsIdeba
 

Similar to Reactive Systems with Data Distribution Service (DDS) (20)

Distributed operating system
Distributed operating systemDistributed operating system
Distributed operating system
 
distributed computing: Unleashing collaborative computing power.ppt
distributed computing: Unleashing collaborative computing power.pptdistributed computing: Unleashing collaborative computing power.ppt
distributed computing: Unleashing collaborative computing power.ppt
 
Centralized vs distrbution system
Centralized vs distrbution systemCentralized vs distrbution system
Centralized vs distrbution system
 
Technical Best Practices for Veritas and Microsoft Azure Using a Detailed Ref...
Technical Best Practices for Veritas and Microsoft Azure Using a Detailed Ref...Technical Best Practices for Veritas and Microsoft Azure Using a Detailed Ref...
Technical Best Practices for Veritas and Microsoft Azure Using a Detailed Ref...
 
distributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdfdistributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdf
 
Middleware and Middleware in distributed application
Middleware and Middleware in distributed applicationMiddleware and Middleware in distributed application
Middleware and Middleware in distributed application
 
Lect 1 Distributed System.pptx
Lect 1 Distributed System.pptxLect 1 Distributed System.pptx
Lect 1 Distributed System.pptx
 
Chapter Introductionn to distributed system .pptx
Chapter Introductionn to distributed system .pptxChapter Introductionn to distributed system .pptx
Chapter Introductionn to distributed system .pptx
 
Distributed dbms (ddbms)
Distributed dbms (ddbms)Distributed dbms (ddbms)
Distributed dbms (ddbms)
 
Manish tripathi-e-commerce-middleware
Manish tripathi-e-commerce-middlewareManish tripathi-e-commerce-middleware
Manish tripathi-e-commerce-middleware
 
NoSQL and Couchbase
NoSQL and CouchbaseNoSQL and Couchbase
NoSQL and Couchbase
 
Distributed Operating System.pptx
Distributed Operating System.pptxDistributed Operating System.pptx
Distributed Operating System.pptx
 
Introduction
IntroductionIntroduction
Introduction
 
Distributed Operating System.pptx
Distributed Operating System.pptxDistributed Operating System.pptx
Distributed Operating System.pptx
 
lecture-13.pptx
lecture-13.pptxlecture-13.pptx
lecture-13.pptx
 
Unit 2 part 1.pptx
Unit 2 part 1.pptxUnit 2 part 1.pptx
Unit 2 part 1.pptx
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud Computing - Geektalk
Cloud Computing - GeektalkCloud Computing - Geektalk
Cloud Computing - Geektalk
 
Cloud computing & security basics
Cloud computing & security   basicsCloud computing & security   basics
Cloud computing & security basics
 
Modulus Datasheets
Modulus DatasheetsModulus Datasheets
Modulus Datasheets
 

Recently uploaded

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
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
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
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
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
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
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
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
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
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
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
 
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
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 

Recently uploaded (20)

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
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
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
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
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
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
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
 
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...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 

Reactive Systems with Data Distribution Service (DDS)

  • 1. REACTIVE SYSTEMS with OMG’s Data Distribution Service (DDS) Abdullah Ozturkbased on The Reactive Manifesto
  • 2. INTRODUCTION • Traditional software solutions; • Use managed servers and containers, • Scale via larger servers and multi-threading.
  • 3. Today’s Requirements • However, today’s requirements demand new technologies; • Deployed on everything (mobile, cloud clusters etc.), • Thousands of multicore processors, • Low response time (milli-, or even micro-second), • 100% uptime (highly available), • Big data (petabytes).
  • 4. GOING REACTIVE • Coherent approach to systems architecture is needed. • Reactive Systems meet these requirements; • Responsive, • Resilient, • Elastic • and Message Driven.
  • 5. Reactive Systems • Reactive Systems are more flexible, loosely-coupled and scalable. • They are easier to develop and amenable to change. • They are significantly more tolerant of failure and when failure occurs they meet it with elegance. • Reactive Systems are highly responsive, giving users effective interactive feedback.
  • 6. Publish-Subscribe • Publish-subscribe architecture of DDS promotes a loose coupling in space and time. • No shared mutable state, synchronization and blocking operations. • Publishers and subscribers can join and leave to a data domain anytime, express their intent by topics. • Loosely coupled design of DDS allows better scalability.
  • 7. Loose-Coupling • Loose coupling and location independence make it possible to scale out the system onto multiple nodes. • By location transparency, topology of the application becomes a deployment decision. • It enables distributed systems that are easier to design, implement, integrate, deploy and maintain.
  • 8. Data-Centric Architecture • Components interact through production and consumption of data. • DDS middleware employs a data-centric integration model to decouple applications. • DDS middleware knows your data, allows filtering, and provides tailored data management through Quality-of- Services (QoS).
  • 9. RESILIENCE • The system stays responsive in the face of failure. • Resilience is achieved by replication, containment, isolation and delegation. • Failures are contained within each component, isolating components from each other. • Parts of the system can fail and recover without compromising the system as a whole. • High-availability is ensured by replication where necessary.
  • 10. Bulkhead Pattern • In the bulkhead pattern, a system is built up from safe compartments that prevents the classic problem of cascading failures. • DDS provides fully isolated components in which failures can be captured, encapsulated as messages, and sent off to other components that can decide how to respond.
  • 11. Fault Tolerance • A failure is an unexpected event within a service that prevents it from continuing to function normally. • DDS middleware provides fault tolerance; • By providing historical data in last value caches to late joiners. • Makes data survive application, or system failures by durability quality of service. • Monitors the presence, health and activity of DDS entities. • Handles redundant data sources and failover by ownership.
  • 12. No Single Point of Failure • Scalability is typically limited by the introduction of bottlenecks or synchronization points within the system. • Loosely coupled DDS applications without central brokers have no single points of failure.
  • 13. Replication • Executing a component simultaneously in different places. It offers scalability and resilience. • Incoming workload can be distributed across multiple instances of a component by using DDS content-filtered topics. • Incoming workload can be replicated to multiple subscribers which process the same requests in parallel.
  • 14. Isolation • Decoupling, both in time and space. • DDS entities have independent life-cycles—they do not need to be present at the same time or at the same process for communication to be possible. • It is enabled by adding asynchronous boundaries between the components, communicating through message-passing.
  • 15. Reliability • DDS middleware provides that the right data is delivered reliably and in real-time to the right subscriber applications. • Applications that respond to events need to do so in a timely manner, even in the presence of failure. • Deadline QoS of DDS enforces expected time requirements, and time based filter QoS controls data delivery rates.
  • 16. ELASTICITY • Stays responsive under varying workload. • Reacts to changes in the input rate by increasing or decreasing the resources allocated to service. • No contention points or central bottlenecks in DDS, resulting in the ability to shard or replicate components and distribute inputs among them. • Achieves elasticity in a cost-effective way.
  • 17. Scalability • Scalability is achieved by adding more computing resources (elasticity) without redesigning or rewriting the application. • Its performance is measured by the ratio of throughput gain to resource increase. • A system based on DDS is capable of being easily expanded or upgraded on demand by adding more publishers and subscribers.
  • 18. Message-Driven • A message is an item of data that is sent to a specific destination. • In a message-driven system using DDS, addressable recipients (subscribers) await the arrival of messages and react to them, otherwise lying dormant. • A message can contain an encoded event as its payload. • With the message-driven design of DDS, it is easier to extend, evolve and maintain applications, it gives more flexibility and reduces maintenance cost.
  • 19. Asynchronous • It means that the processing of a request occurs at an arbitrary point in time. • DDS middleware ensures loose coupling, isolation, location transparency, and provides the means to delegate errors as messages. • DDS allows the application a choice either get notified asynchronously by attached listeners, or wait data in blocking.
  • 20. Event-Driven • Events—discrete pieces of information describing facts. • DDS middleware notifies the user application of relevant events i.e. arrival of data, QoS violations, entities matched, liveliness changed, deadline missed, and sample lost/rejected. • DDS provides listeners to monitor delivery related events and to notify applications when these events occur.
  • 21. Location Transparency • Decoupling in space, enabled through asynchronous message-passing. • If all components support mobility, then we do not have to define a static system topology upfront. • Makes it possible for the management of failure to work with the same constructs and semantics across a cluster or within a single host.
  • 22. Non-Blocking • Allows the caller the option to do other work rather than be blocked waiting on the resource to become available. • Non-blocking communication allows recipients to only consume resources while active, leading to less system overhead. • Non-blocking operations (read/write) of DDS make the application to be responsive at all times and efficient use of existing resources.
  • 23. RESPONSIVENESS • The system responds in a timely manner if at all possible. • Responsiveness is the cornerstone of usability. • Responsive systems establish reliable upper bounds so they deliver a consistent quality of service.
  • 24. High-Concurrency • High concurrency by design makes use of multicores without changes. • DDS middleware allows creating multiple subscribers or publishers to increase concurrency.
  • 25. Performance • DDS enables low latency and high throughput under heavy load. • Specifies a compact data encoding on the wire. • Supports asynchronous notification mechanisms. • Keeps data copies to a minimum. • Allows controlling timing, communication channel priority and resource utilization for real-time systems.
  • 26. Platform Independence • DDS provides tools as common building blocks for solving the complex problems arising in a distributed environment. • Supports type safety by using a platform independent language. • Standardized well-defined APIs help ensure maximum portability. • Provides programming language independence. • Provides operating system and hardware independence. • Enables on the wire interoperability by a standard wire protocol.
  • 27. Conclusion • Reactive Systems apply design principles. • The largest systems in the world rely upon architectures based on these properties. • OMG’s DDS middleware makes it possible to design and develop reactive systems.
  • 28. Thank You • Questions? Abdullah Ozturk Technical Lead, MilSOFT DDS