SlideShare a Scribd company logo
Data	Microservices
with	Spring	Cloud
Speaker
• Orkhan Gasimov,	Software	Engineer
– 15	years	of	software	engineering;
– variety	of	technologies	(languages	&	frameworks);
– solution	design	and	implementation;
• Teaching	training	courses.
– Architecture.
– Java.
– JavaScript	/	TypeScript.
• Author	of	training	courses.
– Spring	Cloud.
– Akka for	Java.
Speaker
• Overview:
– Communication	Model
– Spring	Cloud	Stream
– Transactions
– Data	Consistency
Data	Microservices
Data	Microservices
• Why do we think about applications while designing applications?
– Applications come and go.
– They change from time to time.
– Only data stays.
– It’s about data, not apps.
Data	Microservices
• What should we think about while designing an application?
– Most of the applications are data centric.
– The role of most applications is to input/output/process the data.
Data	Microservices
• What is a Data Microservice?
– Lightweight;
– Has an input and/or output;
– Composable into a pipeline;
AppIn Out
Data	Microservices
• Why do we need Data Microservices?
– Is it just about the design?
– What are the benefits and drawbacks?
AppIn Out
Contract
Contract
• Do not tell what to do.
• Just do it.
• Provide/accept data.
AppIn Out AppIn Out AppIn Out
Communication
Communication
• Consider an application using direct communication between services.
• When all services work flawlessly…
Communication
• What if a service gets unstable or unavailable at all?
– Client requests are not fulfilled.
– Data loss?
• What are the available solutions?
Communication
• Use a shared storage between services.
– Store request data in database.
– Notify other service when a request is available for processing.
Communication
• Persistent queue is a storage too.
– Publish request data to the queue.
– Other services subscribe to the queue.
Communication
• Benefits:
– No direct connection between services.
– Services are decoupled, composition and orchestration is easier.
– If a service gets down, it may process requests later when gets up.
Communication
• Drawbacks:
– Additional cost of message broker maintenance.
– Queues should be highly available.
Spring	Cloud	Stream
Spring	Cloud	Stream
Spring	Cloud	Stream
Spring	Cloud	Stream
• The	basic	channel	abstractions	are	provided	by	three	interfaces:
– Sink	– input	message	channel.
– Source	– output	message	channel.
– Processor	– extends	Sink	and	Source.
Spring	Cloud	Stream
public interface Sink {
String INPUT = "input";
@Input(Sink.INPUT)
SubscribableChannel input();
}
public interface Source {
String OUTPUT = "output";
@Output(Source.OUTPUT)
MessageChannel output();
}
public interface Processor extends Source, Sink {
}
Spring	Cloud	Stream
• Development is simplified down to three simple annotations:
– @EnableBinding - activate connectivity to a message broker.
– @StreamListener - receive data from a channel.
– @SendTo - stream data to a channel.
Spring	Cloud	Stream
• A	simple	processor	application	looks	like:
@SpringBootApplication
@EnableBinding(Processor.class)
public class WordNumFilter {
@StreamListener(Processor.INPUT)
@SendTo(Processor.OUTPUT)
private String filter(String word) {
//filter numbers, return only words
}
//main method...
}
Spring	Cloud	Stream
• Configuration	for	the	channels	looks	like:
spring:
application.name: WordNumFilter
cloud.stream.bindings:
input:
destination: wordNumFilter
output:
destination: words
Spring	Cloud	Stream
• Consumer Groups:
– Processing of messages is balanced between several consumers;
– Durability enabled;
– Anonymous subscriptions are non-durable;
Spring	Cloud	Stream
• Configuration	for	the	channels	looks	like:
spring:
application.name: WordNumFilter
cloud.stream.bindings:
input:
destination: wordNumFilter
group: WordNumFilters
consumer:
instanceCount: 2
instanceIndex: 0
output:
destination: words
Spring	Cloud	Stream
• Partitioning:
– Is critical, for either performance or consistency reasons;
– Can be used whether the broker itself is naturally partitioned or not;
– Requires configuration at both, producer and consumer ends;
Spring	Cloud	Stream
• Configuration	for	the	channels	looks	like:
spring:
application.name: WordNumFilter
cloud.stream.bindings:
input:
destination: wordNumFilter
group: WordNumFilters
consumer:
partitioned: true
instanceCount: 2
instanceIndex: 0
output:
destination: words
producer:
partitionCount: 2
Spring	Cloud	Stream
• Common configuration options available include:
– Properties for use of Spring Cloud Stream;
– Binding properties for Consumer;
– Binding properties for Producer;
– Binder specific properties.
Data	Consistency
It’s	all	about	data
Data	Consistency
Transactions
Transactions
• Transactions:
– A unit of work performed within the system;
– Allow to update several records as part of one transaction;
– If one or more updates fails, we can roll the entire transaction back;
Transactions
• In monolithic applications, transactions are simple.
– One process is updating and creating records.
– Same process can either commit or roll back the transaction.
Transactions
• In microservices, transactions are complex.
– Several processes are involved in one transaction.
• The transaction is distributed.
– It is complex to observe and solve problems.
– It is more complex to roll back.
Transactions
• How to handle failed transactions?
– If one of microservices fail in a transaction, we will need to rollback the entire
transaction.
Transactions
• Option 1: Try again later.
– The part of the transaction that failed is put into a queue.
– Another service can pick it up and process later.
• Benefits:
– Transaction will eventually be completed.
• Drawbacks:
– It relies on other instances not failing with the same part of transaction.
Transactions
• Option 2: Abort the entire transaction.
– We detect our transaction has failed.
– We issue an Undo transaction (to all the microservices involved).
– The microservices undo any creates or updates.
• Problems:
– Who issue the undo transaction?
– What happens when the undo transaction fails itself?
• One of the possible solutions:
– Use a transaction manager with two phase commit.
Transactions:	Two	Phase	Commit
• Phase 1:
– All microservices involved report to transaction manager if they are fine to
commit to their part of the transaction.
• Phase 2:
– If they are fine, then transaction manager tells all participating microservices
to commit the transaction.
Transactions
• If a microservice doesn’t respond or respond with a “no to committing”,
transaction manager tells to all the participants to rollback the
transaction.
Transactions
• Problems using transaction manager?
– We heavily depend on it.
– It delays the processing of our transactions (potential bottleneck).
– Complex to implement.
– More complex when we need to communicate with another system.
Transactions
• When dealing with transactions:
– Think about different approaches for different business processes;
– A transaction manager with two phase commit is not always required;
– Actor/event oriented approaches are available as well;
Transactions
• Think about the process of ordering, paying, preparing and receiving the
coffee you order.
– Two phase commit model suggests, to wrap the whole process (all steps) in a
single transaction, until you receive your coffee.
– All employees involved would wait and stop working until you get your coffee.
Transactions
• Following the "best effort" model and compensating errors in the process
is more productive.
– First, they make sure that you pay!
– Then, your order is sent to the message queues attached to the cup.
– If something goes wrong, we enter into the compensation process.
– Get what you want or refund.
• Sometimes, they are wasting coffee, but, the overall process is efficient.
– This is the most efficient model for increased productivity.
Event	Sourcing
Event	Sourcing
• Event Sourcing uses an event-centric approach to persist business entities.
– Store the sequence of state-changing events instead of the state of an entity.
– Reconstruct an entity’s state by replaying events.
– Saving an event is a single operation, it is inherently atomic.
Event	Sourcing
• Events are persisted by the Event Store.
– The Event Store behaves like a message broker.
– It provides an API that enables services to subscribe to events.
– Guarantees delivery of events to all interested subscribers.
– It is the backbone of an event-sourced architecture.
Event	Sourcing
• Audit	trail.
– Events	are	immutable	and	store	the	full	history	of	the	state	of	the	system.
– They	provide	a	detailed	audit	trail	of	what	happened	within	the	system.
Event	Sourcing
• Integration	with	other	subsystems.
– Event	store	can	publish	events	and	notify	other	subsystems	about	the	changes	
to	the	application’s	state.
– The	event	store	provides	a	complete	record	of	all	the	events	that	it	published	
to	other	systems.
Event	Sourcing
• Time	Travel.
– Determine	the	state	of	the	system	at	any	previous	point	in	time.
– Answer	historical	questions	about	the	system.
Event	Sourcing
• Drawbacks?
– State	is	stored	as	series	of	events.	
– Have	to	replay	the	events	to	rebuild	state	of	an	entity.
– Retrieval	of	the	current	state	is	time	consuming.
Event	Sourcing
• Solution	is	to	maintain	two	separate	models:
– write	model	— the	event	store.
– read	model	— the	database.
– A	different	handler	is	responsible	for	updating	the	read	model,	once	an	event	
is	persisted	in	the	event	store	(write	model).
Read	
Model
Write	
Model
Events
CQRS
Command	&	Query	Responsibility	Segregation
CQRS
• CQRS states that
– every method should either be a command that performs an action,
– or a query that returns data to the caller,
– but not both.
CQRS
• Methods should return a value only if they possess no side effects.
– If you have a return value you cannot mutate state.
– If you mutate state your return type must be void.
CQRS	+	Event	Sourcing
• Split into two separate services:
CQRS	+	Event	Sourcing
• Consistency:
– Write model is consistent, events are ordered, transactions are simple.
– Most systems can be eventually consistent on the Query side.
CQRS	+	Event	Sourcing
• Data Storage:
– Normalized data on the Command side (e.g. a relational structure).
– Denormalized data on the Query side (e.g. to minimize the number of joins).
CQRS	+	Event	Sourcing
• Scalability:
– Scale Command and Query sides separately.
Summary
Summary
• Communication
– Direct
– Decoupled
Summary
• Spring	Cloud	Stream
– Sink,	Source,	Processor
– Enable,	Listen,	Send
– Consumer	Groups
– Partitioning
Summary
• Data	Consistency
– Transactions
– Event	Sourcing
– CQRS	+	Event	Sourcing
Summary
• Data Microservices:
– Lightweight;
– Data-oriented;
– Composition;
– Orchestration;
AppIn Out
Thank	you!
Data	Microservices	with	Spring	Cloud

More Related Content

What's hot

Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...
Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...
Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...
Orkhan Gasimov
 
Api service mesh and microservice tooling
Api service mesh and microservice toolingApi service mesh and microservice tooling
Api service mesh and microservice tooling
Red Hat
 
Consul: Service Mesh for Microservices
Consul: Service Mesh for MicroservicesConsul: Service Mesh for Microservices
Consul: Service Mesh for Microservices
ArmonDadgar
 
Making Kafka Cloud Native | Jay Kreps, Co-Founder & CEO, Confluent
Making Kafka Cloud Native | Jay Kreps, Co-Founder & CEO, ConfluentMaking Kafka Cloud Native | Jay Kreps, Co-Founder & CEO, Confluent
Making Kafka Cloud Native | Jay Kreps, Co-Founder & CEO, Confluent
HostedbyConfluent
 
Debugging Microservices - key challenges and techniques - Microservices Odesa...
Debugging Microservices - key challenges and techniques - Microservices Odesa...Debugging Microservices - key challenges and techniques - Microservices Odesa...
Debugging Microservices - key challenges and techniques - Microservices Odesa...
Lohika_Odessa_TechTalks
 
Microservices in the Apache Kafka Ecosystem
Microservices in the Apache Kafka EcosystemMicroservices in the Apache Kafka Ecosystem
Microservices in the Apache Kafka Ecosystem
confluent
 
REST APIs
REST APIsREST APIs
OpenStack Summit Fall 2018: LBaaS
OpenStack Summit Fall 2018: LBaaSOpenStack Summit Fall 2018: LBaaS
OpenStack Summit Fall 2018: LBaaS
Praveen Yalagandula
 
Spring integration
Spring integrationSpring integration
Spring integration
Oliver Gierke
 
Webinar | Better Together: Apache Cassandra and Apache Kafka
Webinar  |  Better Together: Apache Cassandra and Apache KafkaWebinar  |  Better Together: Apache Cassandra and Apache Kafka
Webinar | Better Together: Apache Cassandra and Apache Kafka
DataStax
 
Kafka Pluggable Authorization for Enterprise Security (Anna Kepler, Viasat) K...
Kafka Pluggable Authorization for Enterprise Security (Anna Kepler, Viasat) K...Kafka Pluggable Authorization for Enterprise Security (Anna Kepler, Viasat) K...
Kafka Pluggable Authorization for Enterprise Security (Anna Kepler, Viasat) K...
confluent
 
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
HostedbyConfluent
 
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Richard Langlois P. Eng.
 
Declarative Concurrency with Reactive Programming
Declarative Concurrency with Reactive ProgrammingDeclarative Concurrency with Reactive Programming
Declarative Concurrency with Reactive Programming
Florian Stefan
 
Transforming Legacy Applications Into Dynamically Scalable Web Services
Transforming Legacy Applications Into Dynamically Scalable Web ServicesTransforming Legacy Applications Into Dynamically Scalable Web Services
Transforming Legacy Applications Into Dynamically Scalable Web Services
Adam Takvam
 
Deep Dive into the Pulsar Binary Protocol - Pulsar Virtual Summit Europe 2021
Deep Dive into the Pulsar Binary Protocol - Pulsar Virtual Summit Europe 2021Deep Dive into the Pulsar Binary Protocol - Pulsar Virtual Summit Europe 2021
Deep Dive into the Pulsar Binary Protocol - Pulsar Virtual Summit Europe 2021
StreamNative
 
Event Driven Architectures with Apache Kafka on Heroku
Event Driven Architectures with Apache Kafka on HerokuEvent Driven Architectures with Apache Kafka on Heroku
Event Driven Architectures with Apache Kafka on Heroku
Heroku
 
The Java Microservice Library
The Java Microservice LibraryThe Java Microservice Library
The Java Microservice Library
Rick Hightower
 
Service Discovery Like a Pro
Service Discovery Like a ProService Discovery Like a Pro
Service Discovery Like a Pro
Eran Harel
 
Power of Transformation with DataWeave 2.X Engine
Power of Transformation with DataWeave 2.X EnginePower of Transformation with DataWeave 2.X Engine
Power of Transformation with DataWeave 2.X Engine
Manish Kumar Yadav
 

What's hot (20)

Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...
Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...
Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...
 
Api service mesh and microservice tooling
Api service mesh and microservice toolingApi service mesh and microservice tooling
Api service mesh and microservice tooling
 
Consul: Service Mesh for Microservices
Consul: Service Mesh for MicroservicesConsul: Service Mesh for Microservices
Consul: Service Mesh for Microservices
 
Making Kafka Cloud Native | Jay Kreps, Co-Founder & CEO, Confluent
Making Kafka Cloud Native | Jay Kreps, Co-Founder & CEO, ConfluentMaking Kafka Cloud Native | Jay Kreps, Co-Founder & CEO, Confluent
Making Kafka Cloud Native | Jay Kreps, Co-Founder & CEO, Confluent
 
Debugging Microservices - key challenges and techniques - Microservices Odesa...
Debugging Microservices - key challenges and techniques - Microservices Odesa...Debugging Microservices - key challenges and techniques - Microservices Odesa...
Debugging Microservices - key challenges and techniques - Microservices Odesa...
 
Microservices in the Apache Kafka Ecosystem
Microservices in the Apache Kafka EcosystemMicroservices in the Apache Kafka Ecosystem
Microservices in the Apache Kafka Ecosystem
 
REST APIs
REST APIsREST APIs
REST APIs
 
OpenStack Summit Fall 2018: LBaaS
OpenStack Summit Fall 2018: LBaaSOpenStack Summit Fall 2018: LBaaS
OpenStack Summit Fall 2018: LBaaS
 
Spring integration
Spring integrationSpring integration
Spring integration
 
Webinar | Better Together: Apache Cassandra and Apache Kafka
Webinar  |  Better Together: Apache Cassandra and Apache KafkaWebinar  |  Better Together: Apache Cassandra and Apache Kafka
Webinar | Better Together: Apache Cassandra and Apache Kafka
 
Kafka Pluggable Authorization for Enterprise Security (Anna Kepler, Viasat) K...
Kafka Pluggable Authorization for Enterprise Security (Anna Kepler, Viasat) K...Kafka Pluggable Authorization for Enterprise Security (Anna Kepler, Viasat) K...
Kafka Pluggable Authorization for Enterprise Security (Anna Kepler, Viasat) K...
 
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
 
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.
 
Declarative Concurrency with Reactive Programming
Declarative Concurrency with Reactive ProgrammingDeclarative Concurrency with Reactive Programming
Declarative Concurrency with Reactive Programming
 
Transforming Legacy Applications Into Dynamically Scalable Web Services
Transforming Legacy Applications Into Dynamically Scalable Web ServicesTransforming Legacy Applications Into Dynamically Scalable Web Services
Transforming Legacy Applications Into Dynamically Scalable Web Services
 
Deep Dive into the Pulsar Binary Protocol - Pulsar Virtual Summit Europe 2021
Deep Dive into the Pulsar Binary Protocol - Pulsar Virtual Summit Europe 2021Deep Dive into the Pulsar Binary Protocol - Pulsar Virtual Summit Europe 2021
Deep Dive into the Pulsar Binary Protocol - Pulsar Virtual Summit Europe 2021
 
Event Driven Architectures with Apache Kafka on Heroku
Event Driven Architectures with Apache Kafka on HerokuEvent Driven Architectures with Apache Kafka on Heroku
Event Driven Architectures with Apache Kafka on Heroku
 
The Java Microservice Library
The Java Microservice LibraryThe Java Microservice Library
The Java Microservice Library
 
Service Discovery Like a Pro
Service Discovery Like a ProService Discovery Like a Pro
Service Discovery Like a Pro
 
Power of Transformation with DataWeave 2.X Engine
Power of Transformation with DataWeave 2.X EnginePower of Transformation with DataWeave 2.X Engine
Power of Transformation with DataWeave 2.X Engine
 

Similar to Data Microservices with Spring Cloud

Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven Architecture
Sistek Yazılım
 
“Controlling of messages flow in Microservices architecture” by Andris Lubans...
“Controlling of messages flow in Microservices architecture” by Andris Lubans...“Controlling of messages flow in Microservices architecture” by Andris Lubans...
“Controlling of messages flow in Microservices architecture” by Andris Lubans...
DevClub_lv
 
Event Driven Architectures
Event Driven ArchitecturesEvent Driven Architectures
Event Driven ArchitecturesAvinash Ramineni
 
Event Driven Architectures - Phoenix Java Users Group 2013
Event Driven Architectures - Phoenix Java Users Group 2013Event Driven Architectures - Phoenix Java Users Group 2013
Event Driven Architectures - Phoenix Java Users Group 2013
clairvoyantllc
 
Building a microservice architecture for a 100mio# revenue company
Building a microservice architecture for a 100mio# revenue companyBuilding a microservice architecture for a 100mio# revenue company
Building a microservice architecture for a 100mio# revenue company
ProjectAcom
 
Micro service architecture
Micro service architecture  Micro service architecture
Micro service architecture
Ayyappan Paramesh
 
Elite mindz introduction
Elite mindz introductionElite mindz introduction
Elite mindz introduction
Simerjeet Singh
 
EliteMindz: Who are we? Where do we serve ? What are our products & services?
EliteMindz: Who are we? Where do we serve ? What are our products & services?EliteMindz: Who are we? Where do we serve ? What are our products & services?
EliteMindz: Who are we? Where do we serve ? What are our products & services?
Simerjeet Singh
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
MahmoudZidan41
 
MuleSoft Meetup | Reading Meetup Group | Hosted by Integral Zone
MuleSoft Meetup | Reading Meetup Group | Hosted by Integral ZoneMuleSoft Meetup | Reading Meetup Group | Hosted by Integral Zone
MuleSoft Meetup | Reading Meetup Group | Hosted by Integral Zone
IntegralZone
 
Messaging with Spring Integration
Messaging with Spring IntegrationMessaging with Spring Integration
Messaging with Spring Integration
Vadim Mikhnevych
 
Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...
Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...
Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...
Startupfest
 
Solving 21st Century App Performance Problems Without 21 People
Solving 21st Century App Performance Problems Without 21 PeopleSolving 21st Century App Performance Problems Without 21 People
Solving 21st Century App Performance Problems Without 21 People
Dynatrace
 
Kochi mulesoft meetup 02
Kochi mulesoft meetup 02Kochi mulesoft meetup 02
Kochi mulesoft meetup 02
sumitahuja94
 
Data Management & Warehousing (David Walker, ex-World Pay) 2019 Confluent Str...
Data Management & Warehousing (David Walker, ex-World Pay) 2019 Confluent Str...Data Management & Warehousing (David Walker, ex-World Pay) 2019 Confluent Str...
Data Management & Warehousing (David Walker, ex-World Pay) 2019 Confluent Str...
confluent
 
Introduction to Microservices Patterns
Introduction to Microservices PatternsIntroduction to Microservices Patterns
Introduction to Microservices Patterns
arconsis
 
Introduction to Microservices Patterns
Introduction to Microservices PatternsIntroduction to Microservices Patterns
Introduction to Microservices Patterns
Dimosthenis Botsaris
 
2017 Melbourne YOW! CTO Summit - Monolith to micro-services with CQRS & Event...
2017 Melbourne YOW! CTO Summit - Monolith to micro-services with CQRS & Event...2017 Melbourne YOW! CTO Summit - Monolith to micro-services with CQRS & Event...
2017 Melbourne YOW! CTO Summit - Monolith to micro-services with CQRS & Event...
Douglas English
 
Building a [micro]services platform on AWS
Building a [micro]services platform on AWSBuilding a [micro]services platform on AWS
Building a [micro]services platform on AWS
Shaun Pearce
 
Ss2gx
Ss2gxSs2gx

Similar to Data Microservices with Spring Cloud (20)

Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven Architecture
 
“Controlling of messages flow in Microservices architecture” by Andris Lubans...
“Controlling of messages flow in Microservices architecture” by Andris Lubans...“Controlling of messages flow in Microservices architecture” by Andris Lubans...
“Controlling of messages flow in Microservices architecture” by Andris Lubans...
 
Event Driven Architectures
Event Driven ArchitecturesEvent Driven Architectures
Event Driven Architectures
 
Event Driven Architectures - Phoenix Java Users Group 2013
Event Driven Architectures - Phoenix Java Users Group 2013Event Driven Architectures - Phoenix Java Users Group 2013
Event Driven Architectures - Phoenix Java Users Group 2013
 
Building a microservice architecture for a 100mio# revenue company
Building a microservice architecture for a 100mio# revenue companyBuilding a microservice architecture for a 100mio# revenue company
Building a microservice architecture for a 100mio# revenue company
 
Micro service architecture
Micro service architecture  Micro service architecture
Micro service architecture
 
Elite mindz introduction
Elite mindz introductionElite mindz introduction
Elite mindz introduction
 
EliteMindz: Who are we? Where do we serve ? What are our products & services?
EliteMindz: Who are we? Where do we serve ? What are our products & services?EliteMindz: Who are we? Where do we serve ? What are our products & services?
EliteMindz: Who are we? Where do we serve ? What are our products & services?
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
MuleSoft Meetup | Reading Meetup Group | Hosted by Integral Zone
MuleSoft Meetup | Reading Meetup Group | Hosted by Integral ZoneMuleSoft Meetup | Reading Meetup Group | Hosted by Integral Zone
MuleSoft Meetup | Reading Meetup Group | Hosted by Integral Zone
 
Messaging with Spring Integration
Messaging with Spring IntegrationMessaging with Spring Integration
Messaging with Spring Integration
 
Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...
Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...
Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...
 
Solving 21st Century App Performance Problems Without 21 People
Solving 21st Century App Performance Problems Without 21 PeopleSolving 21st Century App Performance Problems Without 21 People
Solving 21st Century App Performance Problems Without 21 People
 
Kochi mulesoft meetup 02
Kochi mulesoft meetup 02Kochi mulesoft meetup 02
Kochi mulesoft meetup 02
 
Data Management & Warehousing (David Walker, ex-World Pay) 2019 Confluent Str...
Data Management & Warehousing (David Walker, ex-World Pay) 2019 Confluent Str...Data Management & Warehousing (David Walker, ex-World Pay) 2019 Confluent Str...
Data Management & Warehousing (David Walker, ex-World Pay) 2019 Confluent Str...
 
Introduction to Microservices Patterns
Introduction to Microservices PatternsIntroduction to Microservices Patterns
Introduction to Microservices Patterns
 
Introduction to Microservices Patterns
Introduction to Microservices PatternsIntroduction to Microservices Patterns
Introduction to Microservices Patterns
 
2017 Melbourne YOW! CTO Summit - Monolith to micro-services with CQRS & Event...
2017 Melbourne YOW! CTO Summit - Monolith to micro-services with CQRS & Event...2017 Melbourne YOW! CTO Summit - Monolith to micro-services with CQRS & Event...
2017 Melbourne YOW! CTO Summit - Monolith to micro-services with CQRS & Event...
 
Building a [micro]services platform on AWS
Building a [micro]services platform on AWSBuilding a [micro]services platform on AWS
Building a [micro]services platform on AWS
 
Ss2gx
Ss2gxSs2gx
Ss2gx
 

More from Orkhan Gasimov

Complex Application Design
Complex Application DesignComplex Application Design
Complex Application Design
Orkhan Gasimov
 
Digital Transformation - Why? How? What?
Digital Transformation - Why? How? What?Digital Transformation - Why? How? What?
Digital Transformation - Why? How? What?
Orkhan Gasimov
 
Service Mesh - Why? How? What?
Service Mesh - Why? How? What?Service Mesh - Why? How? What?
Service Mesh - Why? How? What?
Orkhan Gasimov
 
Angular Web Components
Angular Web ComponentsAngular Web Components
Angular Web Components
Orkhan Gasimov
 
Vert.x - Reactive & Distributed [Devoxx version]
Vert.x - Reactive & Distributed [Devoxx version]Vert.x - Reactive & Distributed [Devoxx version]
Vert.x - Reactive & Distributed [Devoxx version]
Orkhan Gasimov
 
Vertx - Reactive & Distributed
Vertx - Reactive & DistributedVertx - Reactive & Distributed
Vertx - Reactive & Distributed
Orkhan Gasimov
 
Designing Fault Tolerant Microservices
Designing Fault Tolerant MicroservicesDesigning Fault Tolerant Microservices
Designing Fault Tolerant Microservices
Orkhan Gasimov
 
Refactoring Monolith to Microservices
Refactoring Monolith to MicroservicesRefactoring Monolith to Microservices
Refactoring Monolith to Microservices
Orkhan Gasimov
 
Spring Cloud: Why? How? What?
Spring Cloud: Why? How? What?Spring Cloud: Why? How? What?
Spring Cloud: Why? How? What?
Orkhan Gasimov
 

More from Orkhan Gasimov (9)

Complex Application Design
Complex Application DesignComplex Application Design
Complex Application Design
 
Digital Transformation - Why? How? What?
Digital Transformation - Why? How? What?Digital Transformation - Why? How? What?
Digital Transformation - Why? How? What?
 
Service Mesh - Why? How? What?
Service Mesh - Why? How? What?Service Mesh - Why? How? What?
Service Mesh - Why? How? What?
 
Angular Web Components
Angular Web ComponentsAngular Web Components
Angular Web Components
 
Vert.x - Reactive & Distributed [Devoxx version]
Vert.x - Reactive & Distributed [Devoxx version]Vert.x - Reactive & Distributed [Devoxx version]
Vert.x - Reactive & Distributed [Devoxx version]
 
Vertx - Reactive & Distributed
Vertx - Reactive & DistributedVertx - Reactive & Distributed
Vertx - Reactive & Distributed
 
Designing Fault Tolerant Microservices
Designing Fault Tolerant MicroservicesDesigning Fault Tolerant Microservices
Designing Fault Tolerant Microservices
 
Refactoring Monolith to Microservices
Refactoring Monolith to MicroservicesRefactoring Monolith to Microservices
Refactoring Monolith to Microservices
 
Spring Cloud: Why? How? What?
Spring Cloud: Why? How? What?Spring Cloud: Why? How? What?
Spring Cloud: Why? How? What?
 

Recently uploaded

Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 

Recently uploaded (20)

Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 

Data Microservices with Spring Cloud