SMS Marketing errors

The most popular form of communication on earth is SMS messaging. Compared to email, it offers a lot more direct and personal messaging options. Nine out of 10 times, customers want to text with…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




Is You know your system architecture well?

Understanding system architecture is important whether you are a frontend, backend, database, or full-stack engineer. As your system/software performance is dependent on the architecture you designed or using. There is various way to scale the system. Here are a few learnings and observations of a naïve engineer.

Below is the basic system architecture :

Working on the application side is always fun and challenging as you have aspects of the whole business working and the tech behind the business. But have observed most B2B application uses direct IPs to access the application. As to resolving URLs to IP DNS is used, the web browser sends the URL to the DNS system and gets back the IP which can be used to access the server but this DNS service is a paid service and as B2B business have their private network and service is going to add cost to their expense sheet so, they generally avoid using DNS.
Along with DNS, the CDN (Content Delivery Network) directly interact with the user which basically provides static files like HTML, javascript, images, logo, etc. Nowadays CDN also contains some dynamic data which even I need to explore. This CDN makes the response of the web page fast as modern front-end Javascript frameworks like ReactJS can do DOM manipulation in the browser itself which makes it faster.
Now, going to the next step as more than one server is used for horizontal scaling and it also ensures the reliability of the system as if one server fails and the other server can fulfill the demand. As in the above figure, only two servers are shown but many more can be used as per traffic on the application. And to ensure the traffic load is equally distributed on all the server the load balancer is used, which have some defined algorithms to divert traffic as needed which make the user experience good.
But now what about data, and how we can handle it? In the old system, the data are hosted on the same server as the size of the data was less but as data size increases it becomes difficult to manage on the same server and it does not support failover and redundancy. Database replication is a common technique to address those problems.
App servers are connected to the database server. The database is designed in a master-slave model. The main database act as a master database on which write operations can be performed and the slave provides only read operation compare to write, read operation is more required that’s why the number of slaves is higher as compared to the master database. And if the master database fails the slave database takes the response and became the master to perform all services of the master, and if the slave fails the other slaves perform the activity of the failed slave which increases the system reliability of the system.
Along with this cache memory is used to access application content fast. Cache memory stores the data which required more frequent data. The benefit of having a separate cache tier includes better system performance ability to reduce database workloads and the ability to scale the cache tier independently. Once the cache is full any request to add items to the cache might cause existing items to be removed. This is called cache eviction. Some of the eviction policies Least-recently-used (LRU), Least Frequently Used (LFU), and First in First Out (FIFO) can be adapted to satisfy different use cases.
This is the basic architecture of the system but over the period technology evolved which result in lots of improvements to this system.

Add a comment

Related posts:

Online Card Transactions Primer

When Bank of America launched the BankAmericard in 1958, they might or might not have realised that the technology they were building would turn out to be the most used payment method in today’s…

Lighting the Torch Commander

The last Elder Dragon Highlander deck I created had me twist my tongue to form aesthetically-pleasing sounds as I announced the name of each card I played during games. Now the…

Symbol of a day!

New symbol of the day is already waiting. And remember — Do not believe the horoscopes and any other predictions. Only in the symbol of the day from Ethex.bet we trust ;D