Chủ Nhật, 16 tháng 11, 2014

Cân bằng tải là gì?

Trong thời đại ngày nay, khi công nghệ đang dần chiếm ưu thế và tạo ra nhiều giá trị cho công việc của con người thì việc phát triển các hệ thống công nghệ trong tất cả các tổ chức là việc làm cần thiết. Hòa chung trong nhịp phát triển đó thì hệ thống mạng máy tính cũng đang được các chuyên gia và kỹ thuật viên nghiên cứu, đầu tư cả thời gian và tiền bạc để tối ưu, nâng cao chất lượng và tiết kiệm cho người sử dụng. Công nghệ cân bằng tải ra đời là để đáp ứng yêu cầu đó.

Chúng ta có thể dễ dàng nhận thấy rằng việc duy trì sự hoạt động liên tục và ổn định của hệ thống server của một doanh nghiệp, cơ quan, tổ chức, tập đoàn, cơ quan nhà nước thậm chí là của cá nhân có vai trò vô cùng quan trọng. Sự phát triển của các tổ chức đó đi kèm với sự song hành của một hệ thống công nghệ thông tin tốt. Thế nhưng càng phát triển thì yêu cầu sự an toàn, ổn định ngày càng nâng lên. Hệ thống cân bằng tải server đảm bảo các server của bạn hoạt động ổn định, không để xảy ra tình trạng ngắt hệ thống bởi dù là trong tình trạng quá tải nhất thì công việc cũng được chia đều cho các server trong hệ thống cân bằng tải. Trong bài viết này, chúng ta sẽ tìm hiểu về cân bằng tải, để trước hết là hiểu về nó và sau đó nghiên cứu áp dụng vào hệ thống server của mình nếu thấy cần thiết.

1.      Khái niệm:

Cân bằng tải là sự phân chia khối lượng công việc mà một máy tính phải làm thành hai hoặc nhiều máy tính để nhiều công việc hơn được thực hiện trong cùng một lượng thời gian và, nói chung, tất cả người dùng được phục vụ nhanh hơn. Cân bằng tải có thể được thực hiện với phần cứng, phần mềm, hoặc kết hợp cả hai. Thông thường, cân bằng tải là lý do chính cho máy chủ phân nhóm.
Trên Internet, các công ty có trang web nhận được rất nhiều lưu lượng truy cập thường sử dụng giải pháp cân bằng tải. Để cân bằng tải lưu lượng truy cập web, có một số phương pháp tiếp cận. Để phục vụ Web, một cách tiếp cận là định tuyến yêu cầu mỗi lần lượt đến một địa chỉ máy chủ lưu trữ khác nhau trong một bảng hệ thống tên miền (DNS. Thông thường, nếu hai máy chủ được sử dụng để cân bằng tải công việc, một máy chủ thứ ba là cần thiết để xác định được máy chủ nào làm công việc nào. Vì vậy cân bằng tải đòi hỏi nhiều máy chủ, nó thường được kết hợp với chuyển đổi dự phòng và các dịch vụ sao lưu. Trong một số phương pháp tiếp cận, các máy chủ được phân phối trên vị trí địa lý khác nhau.

2.      Nguyên lý

Trên thực tế có nhiều mô hình cân bằng tải khác nhau, mục đích chính để tập trung sức mạnh của các server đơn lẻ thành sức mạnh tổng hợp của hệ thống và tăng khả năng chịu lỗi của hệ thống. Nhưng để chi tiết hơn, trong bài này tôi chỉ đề cập đến hệ thống cân bằng tải của công ty Cổ phần dữ liệu toàn cầu, đơn vị đang cung cấp dịch vụ này cho nhiều tổ chức, công ty tại Việt Nam.
Mô hình 1: Lượng dữ liệu lớn, yêu cầu bảo mật cao

Trong mô hình này có 2 server LB1 và LB2 đóng vai trò phân chia công việc cho 2 web server là WEB -1 và WEB -2. Khi LB1 ACTIVE hết khả năng hoạt động thì tự động chuyển dữ liệu yêu cầu sang LB2 STANDBY để server này tiếp tục thực hiện cong việc load balancing đến 2 web server theo mũi tên màu đỏ. 2 web server public này sẽ lấy database từ 2 server chứa database là DATABASE -2 và DATABASE – 1 để hiển thị nội dung ra cho người dùng.

Mô hình 2: Áp dụng trong trường hợp database ít và trung bình.

Trong mô hình này thì database và web server được tích hợp trong cùng mỗi server, database trên mỗi server đồng bộ nhau. Theo mô hình trên thì yêu cầu từ đầu vào Internet sẽ được phân bổ cho 4 web từ 1-4 theo sự phân chia điều hướng của 2 server là LB! ACTIVE và LB2 STANDBY.
Trong trường hợp này thì yêu cầu 2 LB server phải mạnh hơn ở mô hình 1 vì phải điều hướng cho tận 4 web server cùng database.

Tóm lại, tùy từng trường hợp khác nhau về yêu cầu dữ liệu cũng như bảo mật cũng như tùy hệ thống server khác nhau, chúng ta sẽ chọn được mô hình cân bằng tải tối ưu cho hệ thống của mình.

Băng thông là gì? Tìm hiểu về băng thông máy chủ, VPS, hosting

Băng thông là gì?

Băng thông là một DTR (Data transfer rate - số lượng dữ liệu số được chuyển từ nơi này tới nơi khác trong một thời gian cụ thể), thường là 1 giây. Có nhiều đơn vị đo băng thông, có thể là triệu bit mỗi giây (megabits mỗi giây hay Mbps), tỷ bít mỗi giây (gigabits mỗi giây hay Gbps) . Thường thì đơn vị là Mbps. Cụ thể hơn thuật ngữ này dùng để chỉ lưu lượng của tín hiệu điện được truyền qua thiết bị truyền dẫn trong một giây là bao nhiêu. Hình dung cụ thể băng thông như 1 con đường, nếu băng thông lớn, tương tự như một con đường rộng, nhiều người có thể đi qua, tình trạng tắc nghẽn khó có thể xảy ra và ngược lại. Băng thông là một trong những yếu tố vô cùng quan trọng đối với khách hàng khi tìm hiểu và lựa chọn nhà cung cấp các dịch vụ như server, VPS, hosting. Thường thì người dùng sẽ quan tâm đến dung lượng băng thông, loại băng thông, chia sẻ hay là riêng. Bởi vì băng thông của máy chủ, máy chủ ảo hoặc hosting quyết định đến 40% tốc độ của dịch vụ. Do đó, các nhà cung cấp rất chú trọng yếu tố băng thông. Hiện tại ở Việt Nam thì chủ yếu là băng thông chia sẻ, còn ở các dạng cao hơn thì chỉ có một số nhà cung cấp lớn có khả năng xây dựng hệ thống để mang đến cho khách hàng. Ví dụ, bạn có thể tìm hiểu băng thông VPS Gdata đang bán tại đây. Khái niệm băng thông máy chủ, VPS, hosting cũng tương tự khái niệm băng thông nói chung.
Hình ảnh: Tìm hiểu về băng thông máy chủ, VPS, hosting


Các loại băng thông

1.      Phân loại theo dung lượng sử dụng:

*    Commited bandwith (băng thông được cam kết)
Mỗi tháng bạn được cung cấp một lượng băng thông nhất định ghi trong hợp đồng, nếu bạn sử dụng vượt quá băng thông đã cam kết và thống nhất đó thì bạn phải trả thêm phí tùy theo điều khoản của từng nhà cung cấp.

*    Shared bandwith (băng thông được chia sẻ)
Một gói băng thông được sử dụng bởi nhiều máy chủ, bạn có thể sử dụng băng thông từ tối thiểu đến tối đa trong gói băng thông đó. Ví dụ gói băng thông chia sẻ mà nhà cung cấp đưa ra là 100Mbps thì bạn chỉ có thể sử dụng cao nhất là 100Mbps, không thể vượt quá. Thường thì bạn chỉ sử dụng được dưới 100 vì lượng băng thông đó còn phải chia sẻ cho người khác. Các nhà cung cấp băng thông chia sẻ chỉ cam kết cung cấp cho bạn lượng băng thông tối thiểu, khoảng 10-20Mbps. Các gói băng thông chia sẻ thường gắn với VPS chia sẻ, phù hợp với các dịch vụ dung lượng nhỏ, tránh gây tình trạng VPS bị đơ hoặc dừng hoạt động do full băng thông. Các nhà cung cấp gói băng thông này thường khôn khéo thu hút khách hàng bằng cách ghi là ‘’unlimited bandwith’’, ý là người dùng có thể sử dụng không giới hạn trong một gói băng thông nhất định. Tuy nhiên, theo quan điểm cá nhân thì từ đó chưa hoàn toàn chính xác. Các master sẽ nhận ra ngay.
*    Delicated bandwith (băng thông riêng)
Đây là gói băng thông có thể nói là ưu việt nhất vì người dùng sử dụng băng thông trên số tiền mình bỏ ra để mua, không bị chia sẻ với bất cứ ai. Băng thông riêng đang trở thành điểm mạnh của các nhà cung cấp VPS Cloud, tất cả vận hành trên nền điện toán đám mây. Giờ đây với VPS Cloud dù là gói nhỏ nhất thì bạn cũng một mình một vương quốc, không ai có thể xâm nhập vào băng thông của bạn, hạn chế tối đa tình trạng nghẽn. Hơn nữa việc nâng cấp băng thông rất dễ dàng khi khách hàng có nhu cầu băng thông lớn hơn.

2.      Phân loại theo phạm vi sử dụng:

Băng thông trong nước
Là băng thông sử dụng giữa các máy chủ trong nước, trao đổi dung lượng qua lại trong phạm vi một quốc gia.
Băng thông quốc tế
Là băng thông được sử dụng để trao đổi dung lượng giữa 2 điểm đầu cuối ở hai quốc gia khác nhau. Ví dụ khi người từ Mỹ truy cập một website đặt server tại Việt Nam thì cần sử dụng băng thông quốc tế. Người sử dụng Facebook tại Việt Nam truy cập vào Facebook cũng cần qua băng thông quốc tế. Vừa qua xảy ra tình trạng đứt cáp quang biển đi quốc tế cũng ảnh hưởng tới băng thông quốc tế và trong nước.

Cách tiết kiệm băng thông cho website của bạn:

Một website chạy chậm thì có một nguyên nhân phổ biến là thiếu băng thông, dưới đây Gdata xin nêu ra một số cách để tiết kiệm băng thông cho website của bạn:
1.     Tối ưu hình ảnh
Site của bạn không nên để nhiều ảnh vì để tải ảnh cần lượng băng thông lớn. Nếu dùng hình ảnh cũng chỉ nên để ở kích thước vừa phải.
2.     Để file web ở dạng nén.
Ngoài tác dụng để code an toàn hơn, việc nén File giúp website của bạn có thể được load nhanh hơn. Hầu hết các trình duyệt đều hỗ trợ Gzip nên việc nén file cũng trở nên dễ dàng hơn.
3.     Đề phòng Hotlinking
Hotlinking là việc website khác chiếm băng thông website của bạn. Việc này xảy ra khi website đó link đến 1 hình ảnh hoặc bài viết chứa trên server của bạn. Những website uy tín và nổi tiếng thường bị hotlinking. Tuy nhiên cũng có nhiều cách để chống hotlinking. Ví dụ, bằng .htaccess.
4.     CSS càng nhiều càng tốt.
CSS là một hành động code, dùng để trang trí website mà không cần dùng nhiều hình ảnh. Như vậy, nếu website của bạn được CSS nhiều và cẩn thận thì lượng băng thông tiêu tốn sẽ ít đi.
5.     Chú ý đến băng thông quốc tế.
Thông thường Goole crawl website của bạn vài lần 1 ngày. Vì vậy, việc đó cũng tiêu tốn băng thông quốc tế của bạn. Nếu bạn thấy rằng việc Google truy vấn website của bạn quá nhiều, bạn có thể điều chỉnh tần suất này qua webmaster tool.
Còn rất nhiều cách nữa để tối ưu lượng băng thông tiêu tốn cho website của bạn. Nhưng trên đây là 5 cách khá hiệu quả bạn có thể sử dụng để tối ưu băng thông.

Hy vọng rằng bài viết này có thể giúp bạn hiểu được băng thông và áp dụng các cách khác nhau để số tiền bạn bỏ ra mua băng thông có hiệu quả nhất.