SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

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
 

Tendances (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
 

Similaire à 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
 

Similaire à 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
 

Dernier

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
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
 
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
 
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
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Dernier (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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
 
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
 
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...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
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...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

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