SlideShare ist ein Scribd-Unternehmen logo
1 von 26
PAGE 1 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
#GHC16
2016Building Resilient Distributed
Systems by Using Caching
Command and Rollback-Replay
Tanuja Phadke
tanuja_phadke@intuit.com
PAGE 2 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
The problem with resiliency in distributed systems
Single node system
Node
Database1
Web
container
caching
Database2
• All components reside in the same
machine.
• It’s not too hard to ensure atomicity.
• Either all occur or nothing occurs
PAGE 3 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
The problem with resiliency in distributed systems
node node1
node2
node2node1
node1 node2
• Components are spread out.
• Maintaining atomicity and resiliency is a
challenge.
• So we strive for eventual consistency.
• The change will eventually be propagated
to all the copies of data.
PAGE 4 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Intuit case study: Login Service
Intuit makes financial software. Many of these products
use the Login service for login and fetching users’ bank
accounts and transactions securely.
PAGE 5 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Requirements for the Login Service
• Fast response times
• Resilience
• Fault-tolerance
• Consistency
PAGE 6 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
4-step solution we used to solve the problem
1. Decouple design
a. Implement single responsibility principle (SRP)
b. Use the command pattern
2. Use circuit breaker framework
3. Use reactor to recover
4. Use caching (record)
PAGE 7 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
1. Decouple design
• Individual components can be developed independently.
• Plug and play components into bigger solution.
PAGE 8 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
1a. Implement single responsibility principle
• Module or class should have responsibility over a single part
of the functionality provided by the software, and that
responsibility should be entirely encapsulated by the class. All
its services should be narrowly aligned with that
responsibility.
• Separation of concerns
• Each module/method does only one task.
PAGE 9 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
1b. Use command pattern
Invoker
Client
creates
<<interface>>
Command
execute()
recover()
Concrete
Command A
Concrete
Command B
implements
uses
creates
A behavioral design pattern in which an object is used to encapsulate all
information needed to perform an action or trigger an event at a later time.
PAGE 10 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Benefits of the command pattern
• Each command knows how to execute itself.
• Each command knows how to react to failures.
• Rollback
• Retry
• Something else
PAGE 11 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Traditional model with services
Orchestration
Handler
Service A
Service B
create
update
delete
get
create
update
delete
get
GET
PUT
PAGE 12 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Introduce commands
Orchestration
Handler
Service A
Service B
create
update
delete
get
create
update
delete
get
GET
PUT
Command
create, update ...
Command
create, update ...
PAGE 13 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
2. Use circuit breaker
• Circuit breaker is used to detect failures, and encapsulates
logic to reacting to failure (during maintenance, temporary
external system failure or unexpected system difficulties).
• The circuit breaker pattern is a stability patterns applied in a
RESTful architecture.
• Several open sources are available (Hystrix is developed by
Netflix and is popular open source).
PAGE 14 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Example of circuit breaker
PAGE 15 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
3. Use reactor
• Gets invoked in case of failure.
• We can specify the behavior.
• Rollback
• Retry
• Trigger a back-up
• Fallback
PAGE 16 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Use circuit breaker
Orchestration
Handler
Service A
Service B
create
update
delete
get
create
update
delete
get
GET
PUT
Circuit breaker
Fallback
Short circuit
Log error
Error response
CommandCommand
PAGE 17 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
4. Use caching
• Use cache to save the commands so that they can be used for
recovery.
• Some popular open source solutions:
• Hazelcast
• Memcache
• Redis
PAGE 18 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
4. Use caching
Orchestration
Handler
Service A
Service B
create
update
delete
get
create
update
delete
get
GET
PUT
Fallback
Short circuit
Log error
Error response
Cache
Client
Cache
Cache
Listener
[Reactor]
PAGE 19 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Full resilient picture
Orchestration
Handler
Service A
Service B
create
update
delete
get
create
update
delete
get
GET
PUT
PAGE 20 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Service A fails
Orchestration
Handler
Service A
Service B
create
update
delete
get
create
update
delete
get
GET
PUT
Fallback
Short circuit
Log error
Error response
PAGE 21 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Service A is successful and Service B fails
Orchestration
Handler
Service A
Service B
create
update
delete
get
create
update
delete
get
GET
PUT
Fallback
Short circuit
Log error
Error response
Cache
Client
Cache
Cache
Listener
[Reactor]
Reactor(recover)
Caching dirty
PAGE 22 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Service A and Service B both succeed
Orchestration
Handler
Service A
Service B
create
update
delete
get
create
update
delete
get
GET
PUT
Fallback
Short circuit
Log error
Error response
Cache
Client
Cache
Cache
Listener
[Reactor]
Caching(record)
Not Dirty
PAGE 23 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
4-step solution we used to solve the problem
1. Decouple design
a. Implement single responsibility principle (SRP)
b. Use the command pattern
2. Use caching (record)
3. Use circuit breaker framework
4. Use reactor to recover
PAGE 24 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Our story: How did we benefit?
Over 100 user update requests were failing.
• They got slow responses.
• Resulted in high CPU utilization and cascading failures.
After we implemented this solution, we failed fast and
could adhere to the SLAs.
PAGE 25 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
For more info ...
Retry pattern
https://msdn.microsoft.com/en-us/library/dn589788.aspx
Command Handling
http://www.axonframework.org/docs/2.0/command-
handling.html
PAGE 26 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Thank you
Feedback?
Download at http://bit.ly/ghc16app
or search GHC 16 in the app store
Rate and review the session
on our mobile app

Weitere ähnliche Inhalte

Andere mochten auch

Dispatches From The New Economy: The On-Demand Economy And The Future Of Work
Dispatches From The New Economy: The On-Demand Economy And The Future Of WorkDispatches From The New Economy: The On-Demand Economy And The Future Of Work
Dispatches From The New Economy: The On-Demand Economy And The Future Of WorkIntuit Inc.
 
Dispatches From the New Economy: The On-Demand Workforce
Dispatches From the New Economy: The On-Demand WorkforceDispatches From the New Economy: The On-Demand Workforce
Dispatches From the New Economy: The On-Demand WorkforceIntuit Inc.
 
Transforming the IT Mindset - Interop 2016
Transforming the IT Mindset - Interop 2016Transforming the IT Mindset - Interop 2016
Transforming the IT Mindset - Interop 2016Intuit Inc.
 
Alex Balazs on Scalable Services at GlueCon 2016
Alex Balazs on Scalable Services at GlueCon 2016Alex Balazs on Scalable Services at GlueCon 2016
Alex Balazs on Scalable Services at GlueCon 2016Intuit Inc.
 
Dispatches from the New Economy
Dispatches from the New EconomyDispatches from the New Economy
Dispatches from the New EconomyIntuit Inc.
 
The Real Value of Small Business Apps
The Real Value of Small Business AppsThe Real Value of Small Business Apps
The Real Value of Small Business AppsIntuit Inc.
 
Small Business Success in the Cloud
Small Business Success in the CloudSmall Business Success in the Cloud
Small Business Success in the CloudIntuit Inc.
 
Dispatches From The New Economy: The Five Faces Of The On-Demand Economy
Dispatches From The New Economy: The Five Faces Of The On-Demand EconomyDispatches From The New Economy: The Five Faces Of The On-Demand Economy
Dispatches From The New Economy: The Five Faces Of The On-Demand EconomyIntuit Inc.
 
eBook: The Appification of Small Business
eBook: The Appification of Small BusinesseBook: The Appification of Small Business
eBook: The Appification of Small BusinessIntuit Developer
 
Beyond the Gig Economy: How New Technologies Are Reshaping the Future of Work
Beyond the Gig Economy: How New Technologies Are Reshaping the Future of WorkBeyond the Gig Economy: How New Technologies Are Reshaping the Future of Work
Beyond the Gig Economy: How New Technologies Are Reshaping the Future of WorkThumbtack, Inc.
 
The Future Of Work & The Work Of The Future
The Future Of Work & The Work Of The FutureThe Future Of Work & The Work Of The Future
The Future Of Work & The Work Of The FutureArturo Pelayo
 
Handling tricky transactions in QuickBooks Online
Handling tricky transactions in QuickBooks OnlineHandling tricky transactions in QuickBooks Online
Handling tricky transactions in QuickBooks OnlineIntuit Inc.
 
SXSW 2016 takeaways
SXSW 2016 takeawaysSXSW 2016 takeaways
SXSW 2016 takeawaysHavas
 
Top Rumors About Apple March 21 Big Event
Top Rumors About Apple March 21 Big EventTop Rumors About Apple March 21 Big Event
Top Rumors About Apple March 21 Big EventChromeInfo Technologies
 
The Physical Interface
The Physical InterfaceThe Physical Interface
The Physical InterfaceJosh Clark
 
[Infographic] How will Internet of Things (IoT) change the world as we know it?
[Infographic] How will Internet of Things (IoT) change the world as we know it?[Infographic] How will Internet of Things (IoT) change the world as we know it?
[Infographic] How will Internet of Things (IoT) change the world as we know it?InterQuest Group
 
Why Cleanweb Will Beat Cleantech
Why Cleanweb Will Beat CleantechWhy Cleanweb Will Beat Cleantech
Why Cleanweb Will Beat CleantechBlake Burris
 
Brick & Mortar's Secret Weapon: Search Data By Andrew Ruegger
Brick & Mortar's Secret Weapon: Search Data By Andrew RueggerBrick & Mortar's Secret Weapon: Search Data By Andrew Ruegger
Brick & Mortar's Secret Weapon: Search Data By Andrew RueggerSearch Marketing Expo - SMX
 

Andere mochten auch (19)

Dispatches From The New Economy: The On-Demand Economy And The Future Of Work
Dispatches From The New Economy: The On-Demand Economy And The Future Of WorkDispatches From The New Economy: The On-Demand Economy And The Future Of Work
Dispatches From The New Economy: The On-Demand Economy And The Future Of Work
 
Dispatches From the New Economy: The On-Demand Workforce
Dispatches From the New Economy: The On-Demand WorkforceDispatches From the New Economy: The On-Demand Workforce
Dispatches From the New Economy: The On-Demand Workforce
 
Transforming the IT Mindset - Interop 2016
Transforming the IT Mindset - Interop 2016Transforming the IT Mindset - Interop 2016
Transforming the IT Mindset - Interop 2016
 
Alex Balazs on Scalable Services at GlueCon 2016
Alex Balazs on Scalable Services at GlueCon 2016Alex Balazs on Scalable Services at GlueCon 2016
Alex Balazs on Scalable Services at GlueCon 2016
 
Dispatches from the New Economy
Dispatches from the New EconomyDispatches from the New Economy
Dispatches from the New Economy
 
The Real Value of Small Business Apps
The Real Value of Small Business AppsThe Real Value of Small Business Apps
The Real Value of Small Business Apps
 
Small Business Success in the Cloud
Small Business Success in the CloudSmall Business Success in the Cloud
Small Business Success in the Cloud
 
Dispatches From The New Economy: The Five Faces Of The On-Demand Economy
Dispatches From The New Economy: The Five Faces Of The On-Demand EconomyDispatches From The New Economy: The Five Faces Of The On-Demand Economy
Dispatches From The New Economy: The Five Faces Of The On-Demand Economy
 
eBook: The Appification of Small Business
eBook: The Appification of Small BusinesseBook: The Appification of Small Business
eBook: The Appification of Small Business
 
Beyond the Gig Economy: How New Technologies Are Reshaping the Future of Work
Beyond the Gig Economy: How New Technologies Are Reshaping the Future of WorkBeyond the Gig Economy: How New Technologies Are Reshaping the Future of Work
Beyond the Gig Economy: How New Technologies Are Reshaping the Future of Work
 
The Future Of Work & The Work Of The Future
The Future Of Work & The Work Of The FutureThe Future Of Work & The Work Of The Future
The Future Of Work & The Work Of The Future
 
Handling tricky transactions in QuickBooks Online
Handling tricky transactions in QuickBooks OnlineHandling tricky transactions in QuickBooks Online
Handling tricky transactions in QuickBooks Online
 
SXSW 2016 takeaways
SXSW 2016 takeawaysSXSW 2016 takeaways
SXSW 2016 takeaways
 
Top Rumors About Apple March 21 Big Event
Top Rumors About Apple March 21 Big EventTop Rumors About Apple March 21 Big Event
Top Rumors About Apple March 21 Big Event
 
The Physical Interface
The Physical InterfaceThe Physical Interface
The Physical Interface
 
[Infographic] How will Internet of Things (IoT) change the world as we know it?
[Infographic] How will Internet of Things (IoT) change the world as we know it?[Infographic] How will Internet of Things (IoT) change the world as we know it?
[Infographic] How will Internet of Things (IoT) change the world as we know it?
 
Why Cleanweb Will Beat Cleantech
Why Cleanweb Will Beat CleantechWhy Cleanweb Will Beat Cleantech
Why Cleanweb Will Beat Cleantech
 
Brick & Mortar's Secret Weapon: Search Data By Andrew Ruegger
Brick & Mortar's Secret Weapon: Search Data By Andrew RueggerBrick & Mortar's Secret Weapon: Search Data By Andrew Ruegger
Brick & Mortar's Secret Weapon: Search Data By Andrew Ruegger
 
Paid Search Fundamentals By Matt Van Wagner
Paid Search Fundamentals By Matt Van WagnerPaid Search Fundamentals By Matt Van Wagner
Paid Search Fundamentals By Matt Van Wagner
 

Ähnlich wie Building Resilient Distributed Systems by Using Caching Command and Rollback-Replay

Stor c gregynog colloquium
Stor c   gregynog colloquiumStor c   gregynog colloquium
Stor c gregynog colloquiumgregynog
 
GHC16_BuildingResiliencyInMulti-tierSystems
GHC16_BuildingResiliencyInMulti-tierSystemsGHC16_BuildingResiliencyInMulti-tierSystems
GHC16_BuildingResiliencyInMulti-tierSystemsShreya Mukhopadhyay
 
Continuous Integration Testing Techniques to Improve Chef Cookbook Quality
Continuous Integration Testing Techniques to Improve Chef Cookbook QualityContinuous Integration Testing Techniques to Improve Chef Cookbook Quality
Continuous Integration Testing Techniques to Improve Chef Cookbook QualityJosiah Renaudin
 
Beyond the IOPS: Flash Storage Essentials for Performance & Uptimes
Beyond the IOPS: Flash Storage Essentials for Performance & UptimesBeyond the IOPS: Flash Storage Essentials for Performance & Uptimes
Beyond the IOPS: Flash Storage Essentials for Performance & UptimesSolarWinds
 
Javaone 2016 - Operational Excellence with Hystrix
Javaone 2016 - Operational Excellence with HystrixJavaone 2016 - Operational Excellence with Hystrix
Javaone 2016 - Operational Excellence with HystrixBilly Yuen
 
Software sustainability and Green IT
Software sustainability and Green ITSoftware sustainability and Green IT
Software sustainability and Green ITIvano Malavolta
 
Cocktail of Environments. How to Mix Test and Development Environments and St...
Cocktail of Environments. How to Mix Test and Development Environments and St...Cocktail of Environments. How to Mix Test and Development Environments and St...
Cocktail of Environments. How to Mix Test and Development Environments and St...Aleksandr Tarasov
 
Raising ux bar with offline first design
Raising ux bar with offline first designRaising ux bar with offline first design
Raising ux bar with offline first designKyrylo Reznykov
 
ARC's Sal Spada Packaging Machinery Presentation @ ARC Industry Forum 2010
ARC's Sal Spada Packaging Machinery Presentation @ ARC Industry Forum 2010ARC's Sal Spada Packaging Machinery Presentation @ ARC Industry Forum 2010
ARC's Sal Spada Packaging Machinery Presentation @ ARC Industry Forum 2010ARC Advisory Group
 
Jfrog artifactory artifact management c tamilmaran presentation - copy
Jfrog artifactory artifact management c tamilmaran presentation - copyJfrog artifactory artifact management c tamilmaran presentation - copy
Jfrog artifactory artifact management c tamilmaran presentation - copyTAMILMARAN C
 
Administrivia: Golden Tips for Making JIRA Hum
Administrivia: Golden Tips for Making JIRA HumAdministrivia: Golden Tips for Making JIRA Hum
Administrivia: Golden Tips for Making JIRA HumAtlassian
 
Administrivia: Golden Tips for Making JIRA Hum
Administrivia: Golden Tips for Making JIRA HumAdministrivia: Golden Tips for Making JIRA Hum
Administrivia: Golden Tips for Making JIRA HumAtlassian
 
IRJET- Supply Chain Network Design for Plant Location and Selection of Capaci...
IRJET- Supply Chain Network Design for Plant Location and Selection of Capaci...IRJET- Supply Chain Network Design for Plant Location and Selection of Capaci...
IRJET- Supply Chain Network Design for Plant Location and Selection of Capaci...IRJET Journal
 
LCU14 303- Toolchain Collaboration
LCU14 303- Toolchain CollaborationLCU14 303- Toolchain Collaboration
LCU14 303- Toolchain CollaborationLinaro
 
Trevor Campbell - Creating a Global Infrastructure to Support China - SUGCON
Trevor Campbell - Creating a Global Infrastructure to Support China - SUGCONTrevor Campbell - Creating a Global Infrastructure to Support China - SUGCON
Trevor Campbell - Creating a Global Infrastructure to Support China - SUGCONSUGCON
 
Edge Computing: Bringing the Internet Closer to You
Edge Computing: Bringing the Internet Closer to YouEdge Computing: Bringing the Internet Closer to You
Edge Computing: Bringing the Internet Closer to YouMegan O'Keefe
 
Sprint 126
Sprint 126Sprint 126
Sprint 126ManageIQ
 
Debug, Analyze and Optimize Games with Intel Tools
Debug, Analyze and Optimize Games with Intel Tools Debug, Analyze and Optimize Games with Intel Tools
Debug, Analyze and Optimize Games with Intel Tools Matteo Valoriani
 

Ähnlich wie Building Resilient Distributed Systems by Using Caching Command and Rollback-Replay (20)

Stor c gregynog colloquium
Stor c   gregynog colloquiumStor c   gregynog colloquium
Stor c gregynog colloquium
 
GHC16_BuildingResiliencyInMulti-tierSystems
GHC16_BuildingResiliencyInMulti-tierSystemsGHC16_BuildingResiliencyInMulti-tierSystems
GHC16_BuildingResiliencyInMulti-tierSystems
 
Analytics in the Manufacturing industry
Analytics in the Manufacturing industryAnalytics in the Manufacturing industry
Analytics in the Manufacturing industry
 
Continuous Integration Testing Techniques to Improve Chef Cookbook Quality
Continuous Integration Testing Techniques to Improve Chef Cookbook QualityContinuous Integration Testing Techniques to Improve Chef Cookbook Quality
Continuous Integration Testing Techniques to Improve Chef Cookbook Quality
 
Beyond the IOPS: Flash Storage Essentials for Performance & Uptimes
Beyond the IOPS: Flash Storage Essentials for Performance & UptimesBeyond the IOPS: Flash Storage Essentials for Performance & Uptimes
Beyond the IOPS: Flash Storage Essentials for Performance & Uptimes
 
Javaone 2016 - Operational Excellence with Hystrix
Javaone 2016 - Operational Excellence with HystrixJavaone 2016 - Operational Excellence with Hystrix
Javaone 2016 - Operational Excellence with Hystrix
 
Software sustainability and Green IT
Software sustainability and Green ITSoftware sustainability and Green IT
Software sustainability and Green IT
 
Cocktail of Environments. How to Mix Test and Development Environments and St...
Cocktail of Environments. How to Mix Test and Development Environments and St...Cocktail of Environments. How to Mix Test and Development Environments and St...
Cocktail of Environments. How to Mix Test and Development Environments and St...
 
Raising ux bar with offline first design
Raising ux bar with offline first designRaising ux bar with offline first design
Raising ux bar with offline first design
 
ARC's Sal Spada Packaging Machinery Presentation @ ARC Industry Forum 2010
ARC's Sal Spada Packaging Machinery Presentation @ ARC Industry Forum 2010ARC's Sal Spada Packaging Machinery Presentation @ ARC Industry Forum 2010
ARC's Sal Spada Packaging Machinery Presentation @ ARC Industry Forum 2010
 
Jfrog artifactory artifact management c tamilmaran presentation - copy
Jfrog artifactory artifact management c tamilmaran presentation - copyJfrog artifactory artifact management c tamilmaran presentation - copy
Jfrog artifactory artifact management c tamilmaran presentation - copy
 
Administrivia: Golden Tips for Making JIRA Hum
Administrivia: Golden Tips for Making JIRA HumAdministrivia: Golden Tips for Making JIRA Hum
Administrivia: Golden Tips for Making JIRA Hum
 
Administrivia: Golden Tips for Making JIRA Hum
Administrivia: Golden Tips for Making JIRA HumAdministrivia: Golden Tips for Making JIRA Hum
Administrivia: Golden Tips for Making JIRA Hum
 
IRJET- Supply Chain Network Design for Plant Location and Selection of Capaci...
IRJET- Supply Chain Network Design for Plant Location and Selection of Capaci...IRJET- Supply Chain Network Design for Plant Location and Selection of Capaci...
IRJET- Supply Chain Network Design for Plant Location and Selection of Capaci...
 
LCU14 303- Toolchain Collaboration
LCU14 303- Toolchain CollaborationLCU14 303- Toolchain Collaboration
LCU14 303- Toolchain Collaboration
 
Presentazione rockwell automation
Presentazione rockwell automationPresentazione rockwell automation
Presentazione rockwell automation
 
Trevor Campbell - Creating a Global Infrastructure to Support China - SUGCON
Trevor Campbell - Creating a Global Infrastructure to Support China - SUGCONTrevor Campbell - Creating a Global Infrastructure to Support China - SUGCON
Trevor Campbell - Creating a Global Infrastructure to Support China - SUGCON
 
Edge Computing: Bringing the Internet Closer to You
Edge Computing: Bringing the Internet Closer to YouEdge Computing: Bringing the Internet Closer to You
Edge Computing: Bringing the Internet Closer to You
 
Sprint 126
Sprint 126Sprint 126
Sprint 126
 
Debug, Analyze and Optimize Games with Intel Tools
Debug, Analyze and Optimize Games with Intel Tools Debug, Analyze and Optimize Games with Intel Tools
Debug, Analyze and Optimize Games with Intel Tools
 

Mehr von Intuit Inc.

State of Small Business – Growth and Success Report
State of Small Business – Growth and Success ReportState of Small Business – Growth and Success Report
State of Small Business – Growth and Success ReportIntuit Inc.
 
The State of Small Business Cash Flow
The State of Small Business Cash FlowThe State of Small Business Cash Flow
The State of Small Business Cash FlowIntuit Inc.
 
Small Business in the Age of AI
Small Business in the Age of AI Small Business in the Age of AI
Small Business in the Age of AI Intuit Inc.
 
Get financially Fit: Tips for Using QuickBooks
Get financially Fit: Tips for Using QuickBooksGet financially Fit: Tips for Using QuickBooks
Get financially Fit: Tips for Using QuickBooksIntuit Inc.
 
SEO, Social, and More: Digital Marketing for your Business
SEO, Social, and More: Digital Marketing for your BusinessSEO, Social, and More: Digital Marketing for your Business
SEO, Social, and More: Digital Marketing for your BusinessIntuit Inc.
 
Why Building Your Brand is Key to Getting Customers
Why Building Your Brand is Key to Getting CustomersWhy Building Your Brand is Key to Getting Customers
Why Building Your Brand is Key to Getting CustomersIntuit Inc.
 
Get Found Fast: Google AdWords Strategies for Growth
Get Found Fast: Google AdWords Strategies for GrowthGet Found Fast: Google AdWords Strategies for Growth
Get Found Fast: Google AdWords Strategies for GrowthIntuit Inc.
 
Giving Clients What They Want
Giving Clients What They WantGiving Clients What They Want
Giving Clients What They WantIntuit Inc.
 
What Accounting Will Look Like in 2030
What Accounting Will Look Like in 2030What Accounting Will Look Like in 2030
What Accounting Will Look Like in 2030Intuit Inc.
 
Pricing in the Digital Age
Pricing in the Digital Age Pricing in the Digital Age
Pricing in the Digital Age Intuit Inc.
 
Handbook: Power Panel on Apps you need to give you more time to serve your cl...
Handbook: Power Panel on Apps you need to give you more time to serve your cl...Handbook: Power Panel on Apps you need to give you more time to serve your cl...
Handbook: Power Panel on Apps you need to give you more time to serve your cl...Intuit Inc.
 
Handbook: Advanced QuickBooks Online - Handling Tricky Transactions
Handbook: Advanced QuickBooks Online - Handling Tricky TransactionsHandbook: Advanced QuickBooks Online - Handling Tricky Transactions
Handbook: Advanced QuickBooks Online - Handling Tricky TransactionsIntuit Inc.
 
Advanced QuickBooks Online - Handling Tricky Transactions
Advanced QuickBooks Online - Handling Tricky TransactionsAdvanced QuickBooks Online - Handling Tricky Transactions
Advanced QuickBooks Online - Handling Tricky TransactionsIntuit Inc.
 
Social media is social business
Social media is social business  Social media is social business
Social media is social business Intuit Inc.
 
Conversation guide: Forming deep relationships with your clients
Conversation guide: Forming deep relationships with your clientsConversation guide: Forming deep relationships with your clients
Conversation guide: Forming deep relationships with your clientsIntuit Inc.
 
Making tax digital
Making tax digital  Making tax digital
Making tax digital Intuit Inc.
 
Giving clients what they want
Giving clients what they want Giving clients what they want
Giving clients what they want Intuit Inc.
 
100 percent cloud your action plan for success
100 percent cloud your action plan for success 100 percent cloud your action plan for success
100 percent cloud your action plan for success Intuit Inc.
 
Attracting and retaining top talent
Attracting and retaining top talent Attracting and retaining top talent
Attracting and retaining top talent Intuit Inc.
 
Sales strategies to help you close the deal
Sales strategies to help you close the dealSales strategies to help you close the deal
Sales strategies to help you close the dealIntuit Inc.
 

Mehr von Intuit Inc. (20)

State of Small Business – Growth and Success Report
State of Small Business – Growth and Success ReportState of Small Business – Growth and Success Report
State of Small Business – Growth and Success Report
 
The State of Small Business Cash Flow
The State of Small Business Cash FlowThe State of Small Business Cash Flow
The State of Small Business Cash Flow
 
Small Business in the Age of AI
Small Business in the Age of AI Small Business in the Age of AI
Small Business in the Age of AI
 
Get financially Fit: Tips for Using QuickBooks
Get financially Fit: Tips for Using QuickBooksGet financially Fit: Tips for Using QuickBooks
Get financially Fit: Tips for Using QuickBooks
 
SEO, Social, and More: Digital Marketing for your Business
SEO, Social, and More: Digital Marketing for your BusinessSEO, Social, and More: Digital Marketing for your Business
SEO, Social, and More: Digital Marketing for your Business
 
Why Building Your Brand is Key to Getting Customers
Why Building Your Brand is Key to Getting CustomersWhy Building Your Brand is Key to Getting Customers
Why Building Your Brand is Key to Getting Customers
 
Get Found Fast: Google AdWords Strategies for Growth
Get Found Fast: Google AdWords Strategies for GrowthGet Found Fast: Google AdWords Strategies for Growth
Get Found Fast: Google AdWords Strategies for Growth
 
Giving Clients What They Want
Giving Clients What They WantGiving Clients What They Want
Giving Clients What They Want
 
What Accounting Will Look Like in 2030
What Accounting Will Look Like in 2030What Accounting Will Look Like in 2030
What Accounting Will Look Like in 2030
 
Pricing in the Digital Age
Pricing in the Digital Age Pricing in the Digital Age
Pricing in the Digital Age
 
Handbook: Power Panel on Apps you need to give you more time to serve your cl...
Handbook: Power Panel on Apps you need to give you more time to serve your cl...Handbook: Power Panel on Apps you need to give you more time to serve your cl...
Handbook: Power Panel on Apps you need to give you more time to serve your cl...
 
Handbook: Advanced QuickBooks Online - Handling Tricky Transactions
Handbook: Advanced QuickBooks Online - Handling Tricky TransactionsHandbook: Advanced QuickBooks Online - Handling Tricky Transactions
Handbook: Advanced QuickBooks Online - Handling Tricky Transactions
 
Advanced QuickBooks Online - Handling Tricky Transactions
Advanced QuickBooks Online - Handling Tricky TransactionsAdvanced QuickBooks Online - Handling Tricky Transactions
Advanced QuickBooks Online - Handling Tricky Transactions
 
Social media is social business
Social media is social business  Social media is social business
Social media is social business
 
Conversation guide: Forming deep relationships with your clients
Conversation guide: Forming deep relationships with your clientsConversation guide: Forming deep relationships with your clients
Conversation guide: Forming deep relationships with your clients
 
Making tax digital
Making tax digital  Making tax digital
Making tax digital
 
Giving clients what they want
Giving clients what they want Giving clients what they want
Giving clients what they want
 
100 percent cloud your action plan for success
100 percent cloud your action plan for success 100 percent cloud your action plan for success
100 percent cloud your action plan for success
 
Attracting and retaining top talent
Attracting and retaining top talent Attracting and retaining top talent
Attracting and retaining top talent
 
Sales strategies to help you close the deal
Sales strategies to help you close the dealSales strategies to help you close the deal
Sales strategies to help you close the deal
 

Kürzlich hochgeladen

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 

Kürzlich hochgeladen (20)

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

Building Resilient Distributed Systems by Using Caching Command and Rollback-Replay

  • 1. PAGE 1 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY #GHC16 2016Building Resilient Distributed Systems by Using Caching Command and Rollback-Replay Tanuja Phadke tanuja_phadke@intuit.com
  • 2. PAGE 2 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY The problem with resiliency in distributed systems Single node system Node Database1 Web container caching Database2 • All components reside in the same machine. • It’s not too hard to ensure atomicity. • Either all occur or nothing occurs
  • 3. PAGE 3 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY The problem with resiliency in distributed systems node node1 node2 node2node1 node1 node2 • Components are spread out. • Maintaining atomicity and resiliency is a challenge. • So we strive for eventual consistency. • The change will eventually be propagated to all the copies of data.
  • 4. PAGE 4 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY Intuit case study: Login Service Intuit makes financial software. Many of these products use the Login service for login and fetching users’ bank accounts and transactions securely.
  • 5. PAGE 5 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY Requirements for the Login Service • Fast response times • Resilience • Fault-tolerance • Consistency
  • 6. PAGE 6 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY 4-step solution we used to solve the problem 1. Decouple design a. Implement single responsibility principle (SRP) b. Use the command pattern 2. Use circuit breaker framework 3. Use reactor to recover 4. Use caching (record)
  • 7. PAGE 7 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY 1. Decouple design • Individual components can be developed independently. • Plug and play components into bigger solution.
  • 8. PAGE 8 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY 1a. Implement single responsibility principle • Module or class should have responsibility over a single part of the functionality provided by the software, and that responsibility should be entirely encapsulated by the class. All its services should be narrowly aligned with that responsibility. • Separation of concerns • Each module/method does only one task.
  • 9. PAGE 9 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY 1b. Use command pattern Invoker Client creates <<interface>> Command execute() recover() Concrete Command A Concrete Command B implements uses creates A behavioral design pattern in which an object is used to encapsulate all information needed to perform an action or trigger an event at a later time.
  • 10. PAGE 10 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY Benefits of the command pattern • Each command knows how to execute itself. • Each command knows how to react to failures. • Rollback • Retry • Something else
  • 11. PAGE 11 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY Traditional model with services Orchestration Handler Service A Service B create update delete get create update delete get GET PUT
  • 12. PAGE 12 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY Introduce commands Orchestration Handler Service A Service B create update delete get create update delete get GET PUT Command create, update ... Command create, update ...
  • 13. PAGE 13 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY 2. Use circuit breaker • Circuit breaker is used to detect failures, and encapsulates logic to reacting to failure (during maintenance, temporary external system failure or unexpected system difficulties). • The circuit breaker pattern is a stability patterns applied in a RESTful architecture. • Several open sources are available (Hystrix is developed by Netflix and is popular open source).
  • 14. PAGE 14 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY Example of circuit breaker
  • 15. PAGE 15 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY 3. Use reactor • Gets invoked in case of failure. • We can specify the behavior. • Rollback • Retry • Trigger a back-up • Fallback
  • 16. PAGE 16 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY Use circuit breaker Orchestration Handler Service A Service B create update delete get create update delete get GET PUT Circuit breaker Fallback Short circuit Log error Error response CommandCommand
  • 17. PAGE 17 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY 4. Use caching • Use cache to save the commands so that they can be used for recovery. • Some popular open source solutions: • Hazelcast • Memcache • Redis
  • 18. PAGE 18 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY 4. Use caching Orchestration Handler Service A Service B create update delete get create update delete get GET PUT Fallback Short circuit Log error Error response Cache Client Cache Cache Listener [Reactor]
  • 19. PAGE 19 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY Full resilient picture Orchestration Handler Service A Service B create update delete get create update delete get GET PUT
  • 20. PAGE 20 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY Service A fails Orchestration Handler Service A Service B create update delete get create update delete get GET PUT Fallback Short circuit Log error Error response
  • 21. PAGE 21 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY Service A is successful and Service B fails Orchestration Handler Service A Service B create update delete get create update delete get GET PUT Fallback Short circuit Log error Error response Cache Client Cache Cache Listener [Reactor] Reactor(recover) Caching dirty
  • 22. PAGE 22 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY Service A and Service B both succeed Orchestration Handler Service A Service B create update delete get create update delete get GET PUT Fallback Short circuit Log error Error response Cache Client Cache Cache Listener [Reactor] Caching(record) Not Dirty
  • 23. PAGE 23 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY 4-step solution we used to solve the problem 1. Decouple design a. Implement single responsibility principle (SRP) b. Use the command pattern 2. Use caching (record) 3. Use circuit breaker framework 4. Use reactor to recover
  • 24. PAGE 24 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY Our story: How did we benefit? Over 100 user update requests were failing. • They got slow responses. • Resulted in high CPU utilization and cascading failures. After we implemented this solution, we failed fast and could adhere to the SLAs.
  • 25. PAGE 25 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY For more info ... Retry pattern https://msdn.microsoft.com/en-us/library/dn589788.aspx Command Handling http://www.axonframework.org/docs/2.0/command- handling.html
  • 26. PAGE 26 | GRACE HOPPER CELEBRATION 2016 | #GHC16 PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY Thank you Feedback? Download at http://bit.ly/ghc16app or search GHC 16 in the app store Rate and review the session on our mobile app

Hinweis der Redaktion

  1. Based on fast reads, writes requirements we can choose chaches. For mem cache read is fastest, max size of value. http://blog.engineering.aol.com/2015/08/28/a-comparative-study-of-distributed-caches/