BUILDING RESILIENT MICROSERVICES with APACHE QPID PROTON

BUILDING RESILIENT MICROSERVICES with APACHE QPID PROTON

BUILDING RESILIENT MICROSERVICES with APACHE QPID PROTON Richard Li Rafael Schloming datawire.io • MICROSERVICES • DESIGNING MICROSERVICES • DEMO • WRAP UP • Release any time • You’re responsible for reliability, availability, scalability, security • You’re also responsible for monitoring, billing, user admin, … Idiot proof deploy Homogenous tech stack Minimize upgrade Synchronized release frequency ACID; 1 simultaneous Easy for vendor to debug release Ship as fast as possible Continuous delivery Lots of functional Design/build in parts breadth Reliability, availability, Resilient system design security, scale Continuous delivery Design/build in parts Microservices. Resilient system design Componentization via Services Organized around Business Capabilities Products not Projects Smart endpoints and dumb pipes Decentralized Governance Decentralized Data Management Infrastructure Automation Design for failure Evolutionary Design http://martinfowler.com/articles/microservices.html DESIGNING MICROSERVICES Monolith 1. Send a tweet. 2. Get followers. 3. Publish tweet. App server Three App Servers 1. Send a tweet. 2. Get followers. 3. Publish tweet. App server App Servers + Asynchronous Queue 1. Send a tweet. 4. Get followers. 3. Process new tweets. 2. Queue tweet for sending. 5. Publish tweet. Not a typical app server App Servers + Asynchronous Queue 4. Get followers. Recommend followers 1. Send a tweet. 3. Process new tweets. 2. Queue tweet for sending. 5. Publish tweet. Not a typical app server Fully Asynchronous Publish changes to followers Recommend new people to follow 1. Send a tweet. 3. Process Tweet 2. Queue tweet for sending. 4. Publish tweet. MESSAGING HTTP LB LB LB Asynchronous Messaging Q T Asynchronous Message Broker Broker DEMO Smart endpoints with Proton Outbox Inbox Q T “Barkers” Business Logic Clients Practical Proton Details • Part of Apache Qpid • Used by a number of Qpid • Native AMQP 1.0 protocol projects, including the C++ engine brokers, JMS Client, Qpid • Core engine implemented in C Dispatcher • Language bindings in Python, • Also used by ActiveMQ, JavaScript, Ruby, PHP, Perl, HornetQ, Microsoft Azure, Java, Go, C++ IBM MQLite, and many organizations http://qpid.apache.org/proton SUMMARY • Microservices are a natural paradigm for cloud- delivered software • Microservices need to be loosely coupled • Asynchronous messaging is the key to loose coupling • Proton provides a simple, powerful async messaging engine THANK YOU! [email protected] [email protected] http://qpid.apache.org/proton.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    22 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us