This time I would like to share a couple of classes that I usually use to integrate Firebase authentication operations. They are built in RxSwift and RxJava. It is an alternative when you do not want to use third-party libraries.
How to use it
How to use it
That is also an example of how we can use wrappers for integrations, not only with Firebase. You could also design wrappers to integrate microservices on GCP or AWS. I recommend you this other article Web and Mobile Backend Services Patterns.
This article will describe a simple, easy-to-understand pattern that could be quite useful to add to the designs a sufficient capacity of resilience against error scenarios, transient failures, scenarios of unavailability of service, even unavailable resources.
Although I will describe this design pattern using the application approach in mobile clients, I should note that it is a reasonably versatile pattern that can apply to any component that requires communication with other components or services. For example, in Serverless Architectures or Microservices Architectures and specifically in the integration of Cloud Services, we can find multiple uses and exploits of this pattern…
This time, the turn is for the Circuit breaker pattern. That is a well-known pattern in distributed microservices architectures.
Before seeing the implementation detail, let’s see the context of this pattern.
“Circuit breakers can be used to stop the flow of messages to an actor when something unusual happens.” It is an appropriate description given by Hugh McKee in the report Designing Reactive Systems: The Role of Actors in Distributed Architecture. Martin Fowler also describes this pattern in one of his articles.
In its essence, the Circuit breaker is a finite state machine whose default state is generally closed. According…
In mobile applications, the design of functionality that involves the execution of multiple tasks could generate the following questions:
Suppose for a moment that we need to design an application with support for Mobile and Web clients. We also need the solution to be scalable, elastic according to the demand for resources, high service availability, resilience to failures, and the ability to recover its services in specific tolerance times. Besides, it is so flexible to integrate extra services.
We can turn to cloud services to design solutions to meet these types of requirements. We have large cloud service providers such as Google or Amazon. This article is dedicated to the services provided by Google through Google Cloud Platform.