Clustering – phân cụm máy tính


Clustering là một công nghệ sử dụng các máy tính riêng lẻ thành các tổ hợp (cụm) (chủ yếu áp dụng cho máy chủ) nhằm mục đích:

  • nâng cao khả năng sẵn sàng cho các hệ thống máy tính bao gồm việc đảm bảo hệ thống vẫn hoạt động bình thường nếu có một máy chủ hỏng hóc và giảm thiểu lỗi do hệ thống gây ra
  • fail-over: dễ dàng cho người quản lí bảo trì các máy chủ (gỡ một máy chủ ra khỏi cụm, một máy khác sẽ làm thay những công việc của máy chủ bị thay thế đó)
  • fail-back: phục hồi lại tài nguyên của một máy chủ

Hoạt động dưới kiến trúc song song hoặc phân tán.

RAS – Relidability, Availability, Scalability là 3 tiêu chí khi phân cụm máy tính

Cấu trúc phân cụm (cluster) được tổ chức dưới hình thức Farm hay Pack

Cluster Farm là một nhóm các máy chủ chạy các dịch vụ giống nhau, nhưng không dùng chung cơ sở dữ liệu. Được gọi là farm (trang trại) bởi vì chúng xử lý bất cứ yêu cầu nào gửi đến cho chúng bằng các bản sao cơ sở dữ liệu (tài nguyên) giống hệt nhau được lưu giữ cục bộ, chứ không dùng chung một bản cơ sở dữ liệu. Cũng bởi tính chất này nên các máy chủ thành viên của farm làm việc độc lập và chúng được gọi là clone (clone là máy tính được thiết kế để mô phỏng chức năng của máy tính khác).

  •  Sử dụng Farm, tức là sử dụng các máy chủ hoạt động giống hệt như nhau trong cùng một cụm.
  • Sử dụng Farm, tức là các máy trong cụm có dữ liệu hệt như nhau.
  • Thường sử dụng Farm cho các mạng có lượng truy cập lớn, nhưng lượng dữ liệu thì không quá lớn.

Cluster Pack là một nhóm các máy chủ hoạt động cùng với nhau và chia sẻ với nhau các phần của cơ sở dữ liệu. Được gọi là pack (gói) vì sự hoạt động của các máy chủ thành viên của pack có liên hệ chặt chẽ với nhau và chúng làm việc theo một phương thức thống nhất để quản lý và duy trì các dịch vụ.

  • sử dụng pack, nghĩa là các máy trong cụm có dữ liệu khác nhau cho cùng một mục đích.
  • Thường sử dụng pack khi mạng có lượng dữ liệu cực lớn.

Ví dụ, một hệ thống cluster server có thể chứa dữ liệu theo kiểu:

  • Database Server 1, chứa dữ liệu của các users từ  A-F
  • Database Server 2, chứa dữ liệu cảu các users từ  G-H 
  • … 

Trong các thiết kế, hầu hết các tầng font-end và middle-tiers (phần giải thuật, chạy mã …) sử dụng Farm. Còn back-end sử dụng Pack. Điều này cũng không khó để lý giải.

Nguyên lý thiết kế hệ thống cluster (update later…)

  • Hệ điều hành cluster, cơ sở dữ liệu cluster.
  • Tính toán được nhu cầu sử dụng để phân cụm Farm / Pack thích hợp. Thông thường sẽ sử dụng Farm ở Front-end, middle-services. Sử dụng Pack ở back-end, database services.

Một ví dụ điển hình

 

Cụm máy chủ sử dụng cluster và loadbalancing

Cụm máy chủ sử dụng cluster và loadbalancing

 

 

Kết luận: cứ cấu hình công suất sử dụng và mua thiết bị là có mạng khủng. Không cần phải quan tâm quá nhiều đến câu hỏi khi mạng quá lớn thì sẽ phải làm sao. Có $ là có mạng khủng😀

2 comments

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s