Posts

Creating System for Mobile application | Native or PWA

C reating a robust   e-commerce mobile application   involves choosing the right technology stack. Let’s explore some popular options: Frontend Technologies : React Native : A JavaScript framework for building cross-platform mobile apps. It allows you to write code once and deploy it on both iOS and Android. Flutter : Developed by Google, Flutter uses the Dart programming language. It provides a rich set of widgets and allows for fast development and beautiful UIs. Native Development (Swift/Kotlin) : For platform-specific performance and native look and feel, consider developing separate apps using Swift (for iOS) and Kotlin (for Android). Backend Technologies : Node.js : A popular choice for backend development due to its asynchronous nature and scalability. Ruby on Rails : Known for its simplicity and rapid development capabilities. Python (Django or Flask) : Python is versatile and widely used for web development. Java (Spring Boot) : Robust and reliable for building scalab...

SQL vs NoSQL | Difference between SQL & NoSQL | SQL Vs NoSQL Tutorial | SQL, NoSQL system design

  SQL  1. Structure          Table,row,column          PreDetermined Schema                    Create table with all the defined datatypes and size.                    Then you can use the table          Relations               1:1,1:M,M:M 2. Nature            Centralized data-all tables in the same database server 3. Scalability          Vertical                     Increase the RAM,Storage         Horizontal -> NOT good for horizontal scaling                    Sharding                      ...

System Design: Handle Distributed Transactions | Two-Phase Commit (2PC), Three-Phase Commit (3PC), SAGA Pattern

Image
                                           Synchronous  Challenge is that if the phase 2 (commit) is failed then consumer is blocked Synchronous  SAGA (Saga of Transaction) Asynchronous 

System Design: Distributed Cache and Caching Strategies | Cache-Aside, Write-Through, Write-Back

Image
Caching Technique to store the data in the fast access memory  Server Side Cache LIMITATION Hence we have Distributed Caching

System Design-Distributed Messaging Queue- RabbitMQ and Kafka

Image
  UseCase: Asynchronous Advantage: Less latency                       UseCase: Retry/Circuit breaker UseCase: Pace matching Point2Point Vs PubSub P2P - one message can be consume by one consumer at a time PubSub- one message can be consumed by many consumers Kafka Architecture Partition 0 in topic A can communicate with only one consumer in CG1 only at a time but it can communicate with other CG2 Cluster Vs ZooKeeper-  list of topics is cluster communication between topics take care by zoo keeper Message:-     Key-      Value- Actual msg -mandatory     Partition-     Topic- mandatory Consumer have below information Consumer No Consumer grp Topic no Partion no Offset no- stating that this mush consumer have read. Use of offset: If the consumer goes down then the next consumer will read the message and check the offset that from where i need to read the message. and henc...