Distributed cache là gì? – điều gì khiến nó trở nên mạnh mẽ?

3733

Bài viết được sự cho phép của tác giả Kiên Nguyễn

Ngày nay, một ứng dụng web, một app trên mobile cũng có thể có cả triệu user sử dụng, truyền đạt (gửi đi tới cả tera bytes). Rõ ràng là thế, vậy mới đẻ ra nghành Khoa Học Dữ Liệu (Data Scientist), càng ngày càng hot.

Để đảm bảo cho trải nghiệm của người dùng, cache chưa bao giờ là sự lựa chọn tồi. Tuy nhiên, chỉ mỗi cache không là chưa đủ.

  Buffer là gì? Hiểu về Buffer và Cache
  Speed up Microservices 2: Tận dụng trình duyệt và cache

Số lượng request nhiều -> một server cache sẽ chịu tải quá lớn -> nếu đầu tư quá nhiều phần cứng -> lãng phí. Đây là nguyên nhân chính ta cần phải biết thêm về Distributed cache (Cache phân tán).

1. Distributed cache là gì?

Distributed cache thì có 2 chữ, chữ Distributed và chữ Cache. Giờ focus vô chữ Cache trước

Caching is a commonly used technology to boost application performance as well as reduce costs

Caching là công nghệ thường được sử dụng để tăng hiệu năng của ứng dụng, giảm chi phí xuống ở mức tối thiểu

Bằng cách sử dụng cache và CDN, user không còn phải chờ tải nội dung từ hơn 1000km hoặc từ châu lục này tới châu lục khác.

By caching frequently accessed data in memory, rather than the backend database, applications can deliver highly responsive experiences.

Bằng cách thường xuyên sử dụng cache để lưu trữ data trong bộ nhớ, hơn là sử dụng Backend DB, ứng dụng có thể cung cấp những trải nghiệm tuyệt vời hơn tới User.

Khác với CDN, thay vì mỗi khu vực sẽ có vài ba máy chủ chịu trách nhiệm cache dữ liệu. Distributed ở đây được hiểu như “phân tán, phân phối”, giảm tải nội dung cần cache cho server.

Distributed caching is simply an extension of this concept, but the cache is configured to span multiple servers.

Distributed caching là phần mở rộng phần định nghĩa về cache, nội dung cần cache ở đây sẽ được cấu hình cho nhiều servers khác nhau.

Distributed caching thường được sử dụng cho cloud computing và virtualised environments (môi trường ảo hóa)

2. Sức mạnh tới từ đâu?

2.1 Hiệu năng – Performance

Không thể phủ nhận là khi sử dụng cache, phần hiệu năng cho end user được tăng lên một cách rõ rệt. Trải nghiệm tuyệt vời hơn, không còn thời gian chờ đợi

For a given workload, the cache must meet and sustain the application’s required steady-state performance targets for latency and throughput.

Đối với một công việc nhất định, cache giúp đáp ứng và duy trì các mục tiêu về hiệu năng (độ trễ là mức tải)

2.2 Mở rộng – Scalability

Càng ngày cành nhiều user, nhưng do điều chuyển linh hoạt, không quá focus tập trung vào một server nên thời gian cache không còn là vấn đề.

Không những đáp ứng được về khả năng mở rộng, Distributed cache còn có thể mở rộng nhanh chóng, không ảnh hưởng về mặt tính năng

2.3 Sẵn sàng – Availability

Sử dụng cache còn giúp đỡ về tính sẵn sàng cho toàn hệ thống. Thay vì server down, đang pending chưa thể update hoặc get dữ liệu mới nhất từ server. Có thể lấy từ cache

The cache must ensure the availability of data 24/7 so that data is always available during planned and unplanned downtime.

Cache để giúp đảm bảo tính sẵn sàng 24/7 của data.

2.4 Chi phí – Affordability

Tất nhiên rồi, dùng gì mà chẳng quan tâm tới chi phí. Tuy nhiên, thay vì nâng cấp server, chi phí bỏ ra để thuê các server tỏ ra linh hoạt và tiện dụng hơn.

Distributed cache là gì? – điều gì khiến nó trở nên mạnh mẽ?
Hiện tại cũng không thiếu các dịch vụ CDN, giá cũng không quá chát. Anh em không cần lo lắng quá

3. Đọc thêm về Distributed cache

Bài viết gốc được đăng tải tại kieblog.vn

Có thể bạn quan tâm:

Xem thêm IT Jobs for Developer hấp dẫn trên TopDev