Bài viết được sự cho phép của tác giả Kiên Nguyễn
Hôm nay ngày 12/03, nhân kỷ niệm ngày World Wide Web, hãy cùng tìm hiểu về kiến trúc web (Web Architecture). Thiết nghĩ, với một thứ chúng ta làm việc, sử dụng hàng ngày, không ít thì nhiều, cũng nên hiểu về em nó đôi chút.
Thôi không dài dòng nữa, vào bài ngay đây.
Todo
Duis id ante elit. Aliquam quis tellus id orci eleifend finibus. Donec consequat justo ligula, eget sodales purus hendrerit at.
- Ut at interdum nunc. Maecenas commodo turpis quis elementum gravida.
- Nunc ac sapien tellus. Quisque risus enim, tempus eget porttitor in, pellentesque vel urna.
Donec nibh massa, rutrum a sollicitudin eu,
lacinia in lorem.
1. DNS (Domain name server)
Graphic design is the paradise of individuality, eccentricity, heresy, abnormality, hobbies, and humors. — George Santayana
Vim te case nihil oblique, has partem interpretaris ne, ad admodum accusamus nam. Usu utinam dissentias referrentur ne, vim accusam voluptua pertinacia no. Est no posse utinam inermis, brute errem mentitum et ius, te prompta albucius quo. In pro simul soleat regione.
Ne reque offendit singulis mea, ad eos ferri doming nostrud. Duis suscipit usu ut, fuisset pericula ex est, et porro prompta his. Audire definiebas voluptatibus et duo, aperiam ocurreret ad nec. Vel ad nostrud principes. Ad liber congue iracundia sed, eirmod erroribus eam te, has veniam epicurei ea.
Pri probo alterum aliquando an. Duo appetere laboramus intellegat ea, ex suas diam exerci vix. Mel simul debitis id, est nusquam fuisset mentitum in. Te mei iudico iisque.
2. Load balancer
3. Web app servers
4. Database
5. Caching service
6a. Job queue
6b. Job servers
7. Full text search service
8. Services
9a. Data “firehose”
9b. Copy of data
9c. Data warehouse
10. Cloud storage data
11. CDN (Content delivery network)
Content delivery network, tạm dịch là Mạng lưới truyền tải nội dung. Tạm thời bỏ qua các khái niệm. Hằng ngày, chúng ta vẫn đọc báo, xem youtube, giao dịch online,… Chính những hoạt động này bản thân nó đã tương tác trực tiếp với CDN.
Vậy CDN ra đời với mục đích gì?.
Một buổi sáng đẹp trời, bạn truy cập website http://bbc.com. Tuy nhiên, do origin server nằm ở United Kingdom (khoảng cách xa, nội dung trang báo lại nặng), nên thời gian từ khi ấn enter cho tới khi thấy được nội dung tờ báo là 5s. Thời gian này tuy nhỏ, nhưng nếu phải làm việc nhiều, sẽ rất tốn thời gian. Để giảm thời gian tải này, CDN ra đời.
Ý tưởng:
Ở mỗi khu vực địa lý nhất định (ví dụ: cấp châu lục), đặt một serverCDN đóng vai trò như client trong mạng lưới Content Network, người dùng sẽ request tới serverCDN gần nhất mà mình có thể tiếp cận nhằm giảm thời gian và quá trình request tới origin server ở xa.
Nhưng làm gì có nội dung BBC ở serverCDN!
Xin thưa là có, server ở mỗi nơi đều có lưu trữ bộ đệm (cached), bao gồm hình ảnh, tài liệu, video, … Mỗi khi chúng ta request, thay vì tới thẳng origin server, sẽ chuyển qua request tới serverCDN, từ đó giảm thời gian truy xuất. Nếu số lượng request nhiều, việc sử dụng CDN còn giúp giảm tải cho origin server.
Bài viết gốc được đăng tải tại kieblog.vn
Có thể bạn quan tâm:
- 10 điều mọi nhà phát triển ứng dụng Android nên biết về kiến trúc Architecture
- Kiến trúc phân lớp (Layered Architecture)
- Kiến trúc Model-View-Presenter
Xem thêm Việc làm IT hấp dẫn trên TopDev