Posts

Load Balancers and Load Balancers Algorithms

Image
 Load Balancers When all components are in same applications, all request comes to same servers then burden will increase on the same server.  More the requests to the server, then the performance at the server side will be slow so the response time is high for clients.                                                                                                                                  Eg: Youtube, Myntra, Flipkart,.......(lakhs of users will send the request still the response time will be uniform for client)  When burden increased on server it will process the request slowly and some times the server might crash also.  To reduce the bu...

Advantages and Disadvantages of Monolithic Architecture

 Benefits of going for Monolith Architecture  Simple for development(becoz all are available in single project): At initial time it is very easy.   Easy for Testing : End to End Testing we can perform.   Easy for deployment : One war file only we have to deploy to server.   Easy for Scaling : multiple server we can spin easily(horizontal/vertical scaling) if requests increases then we can make keep multiple servers through which the scaling can be done to provide good responses to the client.  Disadvantages of Monolith Architecture  Maintenance of the application: If the application is to large and complex, it is difficult to understand. Change Request in the code is very difficult. Some changes in the existing application will have an impact to the other code, Lot of Impact Analysis will occur.   Adapting to New Technology is required: Change in java version and adapting to the version change also will take time. Applicati...

Monolithic Architecture

Image
 Monolithic Architecture In our application, we will have several modules and several components are also available. Components are 1. Presentation Components These are responsible for handling Http Requests. Web applications means front end pages, Distributed applications means Rest Clients. 2. Web Components Responsible to handle user requests.(Servlets basically handles the Requests). 3. Business Components  Responsible to handle the business logic as per the business deals. 4. Persistence Components DAO is responsible for performing DB operations like DML,DDL,TCL,.... 5. Integration Components(Webservices, RestFul Services) Two projects can talk to each other only when we have Integration logic(basically RestfulServices, WebServices,...). 6. Authorization Components Responsible for Authorizing the user. 7. Notification Components Responsible for sending email or mobile message notifications. If we develop all these components as a single project then it is called as " Mono...

Dispatcher Servlet, View Resolver and Handler mapping

Image
  Control Flow of SpringBootMVC ============================ 1. Programmer deploys SpringMVC/SpringBootMVC application in webserver or webapps 2. Deployment activities takes place which involves IOC container creation,DispatcherServlet registration with ServletContainer Pre-Instantiation of Singleton scope spring beans like Controller class,handlermapping,viewResolvers,Service class,DAO class etc. In the mean time necessary dependancy injection also takes place 3. Browser gives request to deployed springmvc application 4. The frontcontroller(DispatcherServlet) traps the request and applies the common system services on the request like logging,auditing,tracking etc,... 5. DispatcherServlet hands over the request to HandlerMapping component to map incoming request with handler method of handler/controller class and gets RequestMapping object from HandlerMapping component having Controller class bean id and HandlerMethod signature(it uses lot of reflection api code internally) 6. Dis...

Difference between SQL and NoSQL

Image
 

Eclipse debugging

Image
 Eclipse Debugging ================= Debugging is a process of getting step by step by execution in an application to find out problem/bugs and fix them as needed. Terminologies associated with Debugging a. Bugs => Problem/defect/mistake in the app/program/project[some abnormality in the application execution] Debug = > De + bug [Rectifiying the bug by identifying and Analyzing the bug] The tools or programm or software that can be used for debugging is called "Debugger"/Debugging tool To debug java code we have two tools a. JDB(Supplied by jdk tools with jdk installation) => available inside <java_home>\bin directory as jdb.exe => it is CUI tool and not so popular(Not industry standard) b. IDE supplied Debugger => Eclipse/Intelij/EclipseLink and etc ... IDE supplied Debuggers => These are GUI and they are user friendly => These are industry standard Where Debugging is required in the company? a. To find,analyze and fix logic problems/errors b. if u...

Access Specifiers in java

  4 types of Specifiers/Modifiers 1. Public: Highest scope, will be accessed within the same class, outside class same package, outside package but child class, outside package no relation ship. 2. Protected: Next Highest scope, will be accessed within the same class, outside class same package, outside package but child class. 3 . Default: will be accessed within the same class, outside class same package. 4. Private: Least scope. will be accessed only within the same class UML( unified modeling language) Public -> + Protected -> # default -> ~ Private -> -