We may earn an affiliate commission when you visit our partners.
Matthew Alexander

Building resilience into applications and architecture grows increasingly more complex with the modern demands of day-to-day business. This course will teach you how to apply the foundational principles of reactive systems to meet these demands.

Read more

Building resilience into applications and architecture grows increasingly more complex with the modern demands of day-to-day business. This course will teach you how to apply the foundational principles of reactive systems to meet these demands.

In an effort to stem the increasing complexity of building resilience into modern day applications and architecture, this course, Building Reactive Microservices, covers the design and implementation of failure-tolerant microservices. You’ll learn design principles common to microservice architectures. You’ll also discover industry-proven best practices for building reactive applications, including event sourcing, idempotency, commutative messaging, and distributed transactions using SAGAs. Whether migrating toward microservices or seeking to improve upon what you currently have, at the end of this course you will have a proven set of skills for designing, developing, and/or improving the microservices currently under your influence.

Enroll now

Here's a deal for you

We found an offer that may be relevant to this course.
Save money when you learn. All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Syllabus

Course Overview
Designing Failure Tolerant Microservices
Preventing Duplication through Idempotent Operations
Auditing through Event Sourcing
Read more
Managing Failures in Distributed Transactions

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops skills for building failure-tolerant microservices, which are highly relevant in industry
Explores industry-proven best practices for building reactive applications, which may give learners an edge in the job market
Covers core principles of reactive systems, which are foundational knowledge for software engineers
Taught by Matthew Alexander, who are recognized for their work in software engineering
Builds a strong foundation for intermediate software engineers interested in microservices
Requires that students come in with extensive background knowledge first

Save this course

Save Building Reactive Microservices to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Building Reactive Microservices with these activities:
Organize Course Notes and Resources
Review and organize course materials, including notes, assignments, and quizzes, to enhance retention and understanding.
Show steps
  • Gather all course materials and resources.
  • Review and summarize key concepts from the materials.
  • Organize the materials in a logical and accessible manner.
Read 'Reactive Microservices' by Jonas Bonér
Review a book on reactive microservices to gain insights and perspectives from industry experts.
Show steps
  • Read the book thoroughly.
  • Take notes and highlight important concepts.
Write a Technical Blog Post on Commutative Messaging
Write a blog post to share your knowledge and understanding of commutative messaging in microservices, reinforcing your learning.
Show steps
  • Research and gather information on commutative messaging.
  • Write the blog post, explaining the concepts and benefits of commutative messaging.
  • Publish the blog post and share it with others.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Follow Pluralsight Tutorials on SAGAs
Complete Pluralsight tutorials on SAGAs (Sagas) to enhance your understanding of distributed transactions in microservices.
Show steps
  • Identify relevant Pluralsight tutorials on SAGAs.
  • Follow the tutorials, taking notes and practicing the concepts.
Join a Study Group on Reactive Microservices
Engage with peers in a study group to discuss and exchange knowledge on reactive microservices, fostering a deeper understanding.
Show steps
  • Find or create a study group focused on reactive microservices.
  • Attend regular meetings and actively participate in discussions.
  • Collaborate on projects and share learnings with the group.
Practice Event Sourcing
Practice event sourcing to develop a deeper understanding of this methodology for building reactive microservices.
Show steps
  • Implement an event sourcing pattern in a sample application.
  • Test the event sourcing implementation for correctness and reliability.
Build a Microservice Using Idempotency
Create a microservice that incorporates idempotency to gain hands-on experience in building resilient systems.
Show steps
  • Design the architecture of the microservice with idempotency in mind.
  • Implement the idempotent behavior in the microservice's code.
  • Test the microservice to verify its idempotent behavior.
Develop a Reactive Microservices Application
Build a complete reactive microservices application to apply the concepts learned in the course and gain practical experience.
Show steps
  • Design the application architecture and choose appropriate technologies.
  • Implement the application's functionality and integrate reactive principles.
  • Test and deploy the application, ensuring its resilience and performance.

Career center

Learners who complete Building Reactive Microservices will develop knowledge and skills that may be useful to these careers:
Software Architect
Software Architects lead teams in the design, development, and deployment of software applications. They work with stakeholders to gather requirements, design system architectures, and oversee the implementation and testing of software solutions. This course, Building Reactive Microservices, provides a solid foundation in the principles of reactive systems, which are essential for designing and building resilient and scalable software applications. By understanding the concepts of idempotency, event sourcing, and distributed transactions, Software Architects can develop microservices that are fault-tolerant and can handle high volumes of traffic.
Software Engineer
Software Engineers design, develop, and maintain software applications. They work with Software Architects to translate requirements into technical specifications, and they code, test, and debug software solutions. This course, Building Reactive Microservices, provides Software Engineers with the skills they need to build microservices that are fault-tolerant, scalable, and easy to maintain. By understanding the principles of reactive systems, Software Engineers can develop microservices that can handle high volumes of traffic and can recover quickly from failures.
DevOps Engineer
DevOps Engineers work with Software Engineers and other IT professionals to ensure that software applications are deployed and maintained in a reliable and efficient manner. They are responsible for automating the build, test, and deployment processes, and they work to ensure that applications are running smoothly and are meeting performance requirements. This course, Building Reactive Microservices, provides DevOps Engineers with the skills they need to understand the principles of reactive systems and to implement microservices that are fault-tolerant and scalable. By understanding the concepts of continuous integration and continuous delivery, DevOps Engineers can help to ensure that applications are deployed quickly and reliably.
Cloud Engineer
Cloud Engineers design, build, and maintain cloud-based infrastructure and applications. They work with customers to assess their needs, design and implement cloud solutions, and manage the ongoing operation of cloud-based systems. This course, Building Reactive Microservices, provides Cloud Engineers with the skills they need to understand the principles of reactive systems and to implement microservices that are fault-tolerant and scalable. By understanding the concepts of cloud computing, Cloud Engineers can help to design and build cloud-based applications that are reliable and efficient.
Data Scientist
Data Scientists use data to solve business problems. They work with data from a variety of sources, including structured data, unstructured data, and streaming data. They use statistical and machine learning techniques to build models that can predict future outcomes and to identify trends and patterns in data. This course, Building Reactive Microservices, may be useful for Data Scientists who want to learn how to build microservices that can handle large volumes of data and that can be used to build data-driven applications.
Business Analyst
Business Analysts work with stakeholders to gather requirements, analyze data, and develop solutions to business problems. They work with IT professionals to translate business requirements into technical specifications, and they help to ensure that software applications meet the needs of the business. This course, Building Reactive Microservices, may be useful for Business Analysts who want to learn how to design and implement microservices that are fault-tolerant and scalable. By understanding the principles of reactive systems, Business Analysts can help to design and build microservices that can handle high volumes of traffic and that can recover quickly from failures.
Technical Program Manager
Technical Program Managers lead teams in the development and delivery of software applications. They work with stakeholders to define project scope, budget, and schedule, and they oversee the implementation and testing of software solutions. This course, Building Reactive Microservices, provides Technical Program Managers with the technical skills they need to understand the principles of reactive systems and to implement microservices that are fault-tolerant and scalable. By understanding the concepts of continuous integration and continuous delivery, Technical Program Managers can help to ensure that applications are deployed quickly and reliably.
Quality Assurance Analyst
Quality Assurance Analysts test software applications to ensure that they meet requirements. They work with Software Engineers and other IT professionals to identify and fix bugs, and they work to ensure that applications are reliable and meet performance requirements. This course, Building Reactive Microservices, may be useful for Quality Assurance Analysts who want to learn how to test microservices that are fault-tolerant and scalable. By understanding the principles of reactive systems, Quality Assurance Analysts can help to ensure that microservices are tested thoroughly and that they meet the needs of the business.
IT Manager
IT Managers plan, organize, and direct the activities of an IT department. They work with senior management to develop IT strategy, and they oversee the implementation and maintenance of IT systems and infrastructure. This course, Building Reactive Microservices, may be useful for IT Managers who want to learn how to design and implement microservices that are fault-tolerant and scalable. By understanding the principles of reactive systems, IT Managers can help to ensure that IT systems are reliable and meet the needs of the business.
Project Manager
Project Managers lead teams in the development and delivery of software applications. They work with stakeholders to define project scope, budget, and schedule, and they oversee the implementation and testing of software solutions. This course, Building Reactive Microservices, may be useful for Project Managers who want to learn how to manage the development and deployment of microservices. By understanding the principles of reactive systems, Project Managers can help to ensure that microservices are developed and deployed in a timely and efficient manner.
Software Tester
Software Testers test software applications to ensure that they meet requirements. They work with Software Engineers and other IT professionals to identify and fix bugs, and they work to ensure that applications are reliable and meet performance requirements. This course, Building Reactive Microservices, may be useful for Software Testers who want to learn how to test microservices that are fault-tolerant and scalable. By understanding the principles of reactive systems, Software Testers can help to ensure that microservices are tested thoroughly and that they meet the needs of the business.
Systems Analyst
Systems Analysts work with stakeholders to gather requirements, analyze data, and develop solutions to business problems. They work with IT professionals to translate business requirements into technical specifications, and they help to ensure that software applications meet the needs of the business. This course, Building Reactive Microservices, may be useful for Systems Analysts who want to learn how to design and implement microservices that are fault-tolerant and scalable. By understanding the principles of reactive systems, Systems Analysts can help to design and build microservices that can handle high volumes of traffic and that can recover quickly from failures.
Database Administrator
Database Administrators manage and maintain databases. They work with developers and other IT professionals to ensure that databases are available, reliable, and secure. This course, Building Reactive Microservices, may be useful for Database Administrators who want to learn how to manage databases that are used by microservices. By understanding the principles of reactive systems, Database Administrators can help to ensure that databases are able to handle high volumes of traffic and that they can recover quickly from failures.
Network Engineer
Network Engineers design, build, and maintain computer networks. They work with network administrators to ensure that networks are reliable and secure. This course, Building Reactive Microservices, may be useful for Network Engineers who want to learn how to design and build networks that are used by microservices. By understanding the principles of reactive systems, Network Engineers can help to ensure that networks are able to handle high volumes of traffic and that they can recover quickly from failures.
Security Analyst
Security Analysts work with organizations to identify and mitigate security risks. They work with IT professionals to implement security measures and to ensure that systems and data are protected from unauthorized access. This course, Building Reactive Microservices, may be useful for Security Analysts who want to learn how to secure microservices. By understanding the principles of reactive systems, Security Analysts can help to ensure that microservices are secure and that they are not vulnerable to attack.

Reading list

We've selected seven books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Building Reactive Microservices.
Provides a practical guide to designing and building microservices. It covers the key principles and patterns for building resilient, scalable, and maintainable microservices.
Provides a comprehensive overview of reactive programming, including the fundamental concepts and principles behind reactive systems. It covers the RxJava library, which popular implementation of reactive programming in Java.
Provides a collection of design patterns for building reactive systems. It covers topics such as concurrency, fault tolerance, and scalability.
Provides a practical guide to implementing domain-driven design (DDD), a software development approach that focuses on modeling the domain of a system in a way that is both accurate and useful.
Provides a collection of patterns for building microservices. It covers topics such as service discovery, load balancing, and fault tolerance.
Provides a practical guide to building and deploying microservices. It covers topics such as microservice architecture, containerization, and continuous delivery.
Provides a comprehensive overview of the challenges and techniques for designing data-intensive applications. It covers topics such as data modeling, data storage, and data processing.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Building Reactive Microservices.
The Complete Microservices & Event-Driven Architecture
Most relevant
Advanced Topics in ASP.NET Core Development
Most relevant
Reactive Programming in Java 12 with RxJava 2
Most relevant
Advanced Java
Most relevant
Event-Driven Microservices: Spring Boot, Kafka and Elastic
Microservices Observability, Resilience, Monitoring on...
Java Microservices with Spring Cloud: Developing Services
Design Microservices Architecture with Patterns &...
Modernizing .NET Framework Apps with Docker
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser