-
Fault-Tolerance
Fault-ToleranceWhat is Fault-Tolerance?Fault-tolerance is the property that enables a system to continue operating properly though there are some failures inside of it.The more faults a system can tolerate without failing, the more fault-tolerant ...…
-
ELK (Elasticsearch, Logstash, and Kibana)
Elasticsearch, Logstash, and KibanaElasticsearch is the distributed search and analytics engine at the heart of the Elastic Stack. Logstash and Beats facilitate collecting, aggregating, and enriching your data and storing it in Elasticsearch. Kiba...…
-
Debug in Microservices
Debug in MicroservicesHow to troubleshoot when there is an error in the microservice application?LogWe can use Log to quickly narrow down the space of the error. During development, we can save the log to the local file. If error happens, we can c...…
-
Cascading Failure
Cascading FailureWhat is Cascading Failure?Cascading failure is a failure that spreads across multiple systems, causing a chain reaction of failures. It is a common problem in distributed systems and can be caused by server overload, software bugs...…
-
Authentication-and-Authorization
user Authorization in mocroservices1. Single Sign onwhat is SSOSingle sign-on (SSO) allows the user to access multiple services without having to authenticate more than once.This is achieved by storing the user’s authentication information in a tr...…
-
Async (@Async & messaging)
Async (@Async & messaging)Async programmingExample: suppose prepare the home page, we need 4 independent calls - userInfo(2s), AccountInfo(4s), BillingInfo(1s), UsageInfo(5s). If we execute synchoronously, we have to wait 12s, If we use Async,...…
-
API GateWay
API GateWayWhy do we need API Gateway?API Gateway is a single entry point for all the microservices.Route requests This is convient for frontend developers to make requests to a single endpoint. The API Gateway will route the request to the approp...…
-
Spring Profile and Jasypt
What annotation do you use to quickly switch between different environments to load different configurations?@Profile is used to quickly switch between different environments to load different configurations. Add @Profile annotation to the co...…
-
Testing in Spring & Code Coverage
Testing in SpringUnit Test vs Integration TestUnit Test is a test focused on functional groups inside an application, generally we will test backend service layer by layer to make sure all layers and all methods work fine.Integration Test is a tes...…
-
Spring Data Repository & JPA
JPA (Java Persistence API)JPA is a specification of Java. It is used to persist data between Java object and relational database. It doesn’t provide any implementation, so it need a provider to implement it like Hibernate, EclipseLink, TopLink, et...…