Distributed Computing Là Gì

     

Distributed System là gì?

Hệ thống phân tán (distributed system) là khối hệ thống phần mềm mà các thành phần kết cấu nên nó nằm tại trên những máy tính không giống nhau được kết nối thành mạng lưới (network). Các máy vi tính này phối hợp vận động với nhau để kết thúc một trách nhiệm chung bằng phương pháp trao đổi sang lại những thông điệp (message).

Bạn đang xem: Distributed computing là gì

Nói nôm na là khối hệ thống phân tán là việc hệ thống bạn có tương đối nhiều quá trình xử lý độc lập trên các nhiều server đồ lý không giống nhau.

Với các hệ thống doanh nghiệp mập (enterprise) yên cầu sự linh động trong mở rộng bảo trì thì distributed system là 1 trong những lựa chọn hoàn hảo nhờ các điểm mạnh của nó.

Các đặc điểm chính để ra đời một khối hệ thống phân tán (distributed system) là:

Khả năng mở rộng(Scalability).Độ tin yêu (Reliability).Tính sẵn sàng (Availability).Hiệu suất (Efficiency).Tính không ngừng mở rộng và khả năng bảo trì (Manageability).

Khả năng nở rộng lớn (Scalability)

Scalability là năng lực mở rộng (scaling) của hệ thống (system), quy trình (process) tuyệt mạng lưới (network), cùng với nhu cầu ngày càng tăng về số lượng quá trình tăng theo thời hạn của mô hình sale (business model).

Mô hình khiếp doanh có thể mở rộng lớn quy mô vì nhiều lý do như gia tăng trọng lượng dữ liệu tàng trữ (data storage) tuyệt khối lượng các bước (process/request).

Ví dụ: số lượt truy cập hay đặt đơn hàng của một hệ thống thương mại năng lượng điện tử. Với yêu ước của sự không ngừng mở rộng phải đạt được yêu cầu này mà lại không làm giảm hiệu suất, nói chung tài năng mở rộng là thỏa mãn nhu cầu được sử mở rộng kích thước của khối hệ thống theo thời gian.

Có nhị dạng scaling là mở rộng theo chiều ngang (vertical scaling) và không ngừng mở rộng theo chiều dọc (horizontal scaling):

Vertical scaling: là cách tăng sức mạnh phần cứng của server bằng cách nâng cung cấp CPU, RAM, Disk Storage, v.v… Vertical scaling hay bị số lượng giới hạn bởi vượt quá kỹ năng về thông số kỹ thuật vật lý tân tiến và độ trễ khi vps bị downtime để upgrade phần cứng xuất xắc deploy hệ thống.Horizontal scaling: là biện pháp mở rộng bằng phương pháp thêm những Node/Server vào trong 1 mạng lưới đã có, có tác dụng tăng khả năng chịu cài của hệ thống. Cách làm này rẻ với dễ làm cho hơn so với vertical scaling, đặc biệt là rất thuận tiện downsize cũng tương tự upsize hệ thống và hạn chính sách trễ khi bổ sung thêm Node/Server hoặc deploy hệ thống.
*

Một ví dụ như của horizontal scaling là MongoDB, Redis và Cassandra, cả nhị đều cung cấp sẵn những cách thức để scale hệ thống bằng phương pháp thêm các node vào hoặc xóa bớt các node mà không còn có độ trễ (zero downtime).

Và một ví dụ khác về vertical scaling là MySQL, Sql Server, cả nhị đều rất có thể dễ dàng chuyển đổi từ một Server đang chạy sang một server mới lớn hơn khỏe hơn, hoặc bổ sung thêm phần cứng mang đến server hiện nay tại, tuy nhiên quá trình này có downtime.

Độ tin tưởng (Reliability)

Reliability là kỹ năng chịu lỗi của hệ thống tức là hệ thống sẽ tiếp tục cung ứng dịch vụ của bản thân mình ngay khi gồm một hoặc nhiều thành phần (phần mềm/phần cứng) của khối hệ thống bị lỗi.

Độ tin tưởng là tính chất đặc trưng trong bất kể một khối hệ thống phân tán (distributed system) nào, bởi vì trong một hệ thống như vậy, mọi hỏng hóc của bất kỳ một thành phần như thế nào đó yêu cầu được sửa chữa bằng một yếu tố đang khỏe mạnh khác, đảm bảo luôn dứt nhiệm vụ yêu thương cầu.

Ví dụ của độ tin tưởng là, một trang thương mại dịch vụ điện tử hay hệ thống ngân hàng (banking) mọi tin tức về giao dịch (transaction) của người tiêu dùng sẽ không lúc nào bị hủy bởi vì lỗi server đang chạy giao dịch đó, mỗi server bị lỗi sẽ đề xuất được sửa chữa ngay do một bản sao chứa khá đầy đủ thông tin của server đó.

Xem thêm: Trong Một Chiếc Hộp Đựng 6 Viên Bi Đỏ, C: “ 4 Viên Bi Lấy Ra Có Đủ 3 Màu”

Để có được độ tin cậy, khối hệ thống phải có cơ chế back-up real time của từng thành phần trong hệ thống, đó cũng là một thử thách về mặt kỹ thuật cũng như chi phí của dự án.

Tính chuẩn bị sẵn sàng (Availability)

Tính sẵn sàng (Availability) là tổng thời gian một hệ thống vẫn hoạt động bình thường trong một khoảng thời gian cụ thể. Thước đo của tính chuẩn bị sẵn sàng là tỷ lệ phần trăm thời gian mà lại hệ thống vận động liên tục trong một khoảng thời gian (thường là 1 trong những năm).

Bạn sẽ bắt gặp các tỷ lệ tỷ lệ của tính chuẩn bị là: 99,9%(3 số 9), 99,99% (4 số 9) và 99,999% (5 số 9).

Ví dụ như một cái xe hơi có thể chạy trong nhiều tháng cơ mà không cần duy trì bảo dưỡng, thì có thể nói rằng là mẫu xe đó có tính chuẩn bị sẵn sàng cao. Nếu dòng xe hơi đó chấm dứt hoạt đụng để mang đến gara nhằm bảo trì, nó được xem là không chuẩn bị sẵn sàng trong thời gian đó.

Sự không giống nhau của độ tin yêu (reliability) và tính sẵn sàng (availability)

Nếu khối hệ thống có tính reliability thì nó chắc chắn sẽ có availability, mặc dù nhiên khối hệ thống có tính availability không tức là nó gồm tính reliability. Nói một giải pháp khác thì reliability có nghĩa là nó gồm tính high availability, tuy vậy vẫn có thể đạt được xem availability cùng với một hệ thống không gồm tính reliability bằng cách giảm thiểu tối đa thời gian bảo trì, sửa chữa.

Hãy lấy một ví dụ, một hệ thống eCommerce có phần trăm availability lên đến mức 99,99% trong 2 năm đầu tiên, nhưng khối hệ thống có một lỗi tiềm tàng về bảo mật thông tin mà trong quy trình kiểm test (testing) không phát hiện nay ra, khách hàng không hề biết về điều đó và họ vẫn rất niềm hạnh phúc (happy) với hệ thống, cho đến một ngày rất đẹp trời vào tự nhiên lỗi tiềm ẩn đó bị khai thác dẫn đến hệ thống giảm tính chuẩn bị trong một thời gian dài cho đến khi lỗi được fix.

Kỳ thực mà nói một hệ thống có độ tin cẩn cao (high reliability) gần như rất khó dành được trong thực tế, mà hầu như chúng ta chỉ nhắm tới một hệ thống có tính sẵn sàng chuẩn bị cao (high availability) nhưng mà thôi.

Hiệu suất (Efficiency)

Hiệu suất (Efficiency) của một khối hệ thống phân tán (distributed system) là năng lực chịu sở hữu (high load) và thời gian phản hồi (low latency). Tức là một hệ thống có chức năng chịu được không ít request đồng thời với độ trễ rẻ là một khối hệ thống có năng suất cao.

Thông thường xuyên nó được đo bằng số lượng request nó nhận ra và phản hồi trong một khoảng tầm thời gian, thường được xem bằng giây.

Ví dụ một khối hệ thống eCommerce có năng suất là chịu đựng được 5k lượt mua hàng trên một giây — 5k order / second, xuất xắc 500k lượt fan cùng truy vấn vào cùng một thời điểm.

Tính không ngừng mở rộng và khả năng gia hạn (Manageability)

Một tính chất đặc biệt quan trọng khác của một khối hệ thống phân tán (distributed system) đó là khả năng dễ dãi mở rộng lớn và bảo trì của hệ thống. Nói theo một cách khác là thời gian thực hiện thay thế (repair) hay bảo trì (maintain) khi cần, nếu thời gian trên càng tốt thì tính availability càng thấp.

Để giành được tính không ngừng mở rộng và khả năng duy trì (Manageability), khối hệ thống cần phải thuận lợi phát hiện nay lỗi hoặc lỗi tiềm tàng nếu có, khả năng gấp rút phát hiện được vì sao lỗi (root cause), thuận tiện thực hiện các thay đổi cần thiết nhằm điều chỉnh, hoặc dễ dàng chỉ là dễ ợt mở rộng khi cần.

Việc sớm phát hiện cũng giống như giải quyết sự việc sớm sẽ làm giảm downtime từ đó tăng tính sẵn sàng chuẩn bị của hệ thống. Lấy một ví dụ những ứng dụng doanh nghiệp (enterprise system) có chức năng tự phát hiện tại lỗi tiếp nối cô lập và report nhanh cho người vận hành hệ thống.

Xem thêm: Dầu Hào Làm Từ Nguyên Liệu Gì ? Dầu Hào Dùng Để Làm Gì? Cách Làm Dầu Hào Tại Nhà

Kết Luận

Hệ thống phân tán (distributed system) là hệ thống phần mượt mà các thành phần cấu tạo nên nó nằm tại vị trí trên các máy tính khác biệt được kết nối thành màng lưới (network). Các máy vi tính này phối hợp vận động với nhau để chấm dứt một trọng trách chung bằng cách trao trở qua lại những thông điệp (message).

Các đặc điểm chính để sinh ra một khối hệ thống phân tán (distributed system) là:

Khả năng mở rộng(Scalability).Độ tin cẩn (Reliability).Tính chuẩn bị sẵn sàng (Availability).Hiệu suất (Efficiency).Tính không ngừng mở rộng và khả năng duy trì (Manageability).