Nhìn này, tôi đã vật lộn với những con quái vật gọi là "hệ thống phân tán" trong nhiều năm và tôi sẽ nói cho bạn biết chúng thực sự là gì, không cần quá nhiều câu chuyện kỹ thuật.
Một hệ thống phân tán cơ bản là một đống máy tính rải rác hoạt động cùng nhau như thể chúng là một. Nó giống như một nhóm bạn bè, mỗi người ở nhà mình nhưng phối hợp qua WhatsApp để tổ chức một bữa tiệc.
Điều hài hước nhất là những hệ thống này cố gắng khiến chúng ta tin rằng chúng là một cỗ máy duy nhất khi thực tế chúng là nhiều thiết bị được kết nối mà đôi khi thậm chí không hiểu nhau.
Tương lai: nhiều hỗn loạn có tổ chức hơn
Tương lai của những hệ thống này có vẻ thú vị nhưng không ai nói với bạn về những vấn đề thực sự. Tính toán cụm nghe có vẻ tuyệt vời trong lý thuyết - kết hợp các máy để xử lý nhanh hơn - nhưng trên thực tế, việc cấu hình nó đúng cách là một cơn đau đầu.
Điện toán lưới được đánh giá quá cao. Vâng, nó kết nối tài nguyên từ khắp nơi trên thế giới, nhưng hãy thử quản lý điều đó khi có các múi giờ khác nhau, luật lệ khác nhau và kết nối internet kém ở một số quốc gia. Các thợ đào tiền điện tử hiểu rõ điều này - có vẻ lý tưởng khi hợp tác, cho đến khi ai đó trong pool quyết định giữ toàn bộ bánh.
Ưu điểm và nhược điểm: thực tế khắc nghiệt
Các lợi ích là rõ ràng: khả năng mở rộng, khả năng chịu lỗi... nhưng hãy nói thẳng ra, đây không phải là thiên đường. Việc phối hợp giữa các nút có thể là một cơn ác mộng. Tôi đã thấy những hệ thống "phân tán" mà nửa thời gian bị mất để đồng bộ hóa trạng thái và giải quyết xung đột.
Và đừng bắt tôi phải nói về sự phức tạp. Việc duy trì những hệ thống này đòi hỏi một kiến thức chuyên môn đến nỗi bạn trở thành nô lệ cho chính sáng tạo của mình. Khi có điều gì đó trục trặc, chúc bạn may mắn trong việc tìm ra vấn đề nằm ở đâu giữa bao nhiêu thành phần liên kết với nhau.
Loại: mỗi loại tệ hơn loại trước
Khách hàng-máy chủ, P2P, cơ sở dữ liệu phân tán... mỗi kiến trúc đều có những vấn đề riêng. Kiến trúc P2P rất tuyệt cho đến khi bạn nhận ra rằng không ai muốn chia sẻ tài nguyên, chỉ muốn tiêu thụ chúng. Cơ sở dữ liệu phân tán hứa hẹn sự nhất quán nhưng hãy thử giải thích với sếp của bạn tại sao đôi khi dữ liệu lại không đồng bộ.
Những đặc điểm mà không ai nói với bạn
Đồng thời là một khái niệm đẹp cho đến khi bạn gặp phải tình trạng chết lạng, nơi mỗi quá trình đều chờ đợi quá trình khác và mọi thứ đều bị tê liệt. Khả năng mở rộng theo chiều ngang nghe có vẻ tốt, nhưng mỗi nút mới lại thêm độ phức tạp theo cấp số nhân.
Sự minh bạch là huyền thoại lớn nhất. Không có hệ thống phân tán nào thực sự minh bạch - luôn có những chi tiết bị rò rỉ và cuối cùng làm phức tạp cuộc sống của người dùng cuối.
Chúng thực sự hoạt động như thế nào?
Lý thuyết nói rằng bạn chia nhỏ các nhiệm vụ, phân phối chúng và mọi thứ sẽ hoạt động một cách kỳ diệu. Thực tế là bạn dành nhiều thời gian hơn để thiết kế các giao thức giao tiếp, quản lý sự cố và gỡ lỗi các vấn đề mạng hơn là thực hiện công việc hữu ích.
Các chuỗi khối là ví dụ hoàn hảo: về lý thuyết chúng có khả năng chống lỗi, nhưng khi có một nhánh (fork) trong chuỗi hoặc khi một nửa số nút không được cập nhật đúng cách, hãy xem ai sẽ giải quyết thảm họa.
Cuối cùng, các hệ thống phân tán giống như các mối quan hệ từ xa - về lý thuyết chúng có thể hoạt động, nhưng đòi hỏi rất nhiều giao tiếp, kiên nhẫn và khả năng chấp nhận sự hỗn loạn hơn những gì bất kỳ ai thừa nhận.
Thanh lịch trên giấy, hỗn loạn trong thực tế. Và vẫn vậy, chúng ta không thể sống thiếu chúng trong thế giới kết nối này.
Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
Các hệ thống phân tán: tầm nhìn của tôi từ chiến hào
Nhìn này, tôi đã vật lộn với những con quái vật gọi là "hệ thống phân tán" trong nhiều năm và tôi sẽ nói cho bạn biết chúng thực sự là gì, không cần quá nhiều câu chuyện kỹ thuật.
Một hệ thống phân tán cơ bản là một đống máy tính rải rác hoạt động cùng nhau như thể chúng là một. Nó giống như một nhóm bạn bè, mỗi người ở nhà mình nhưng phối hợp qua WhatsApp để tổ chức một bữa tiệc.
Điều hài hước nhất là những hệ thống này cố gắng khiến chúng ta tin rằng chúng là một cỗ máy duy nhất khi thực tế chúng là nhiều thiết bị được kết nối mà đôi khi thậm chí không hiểu nhau.
Tương lai: nhiều hỗn loạn có tổ chức hơn
Tương lai của những hệ thống này có vẻ thú vị nhưng không ai nói với bạn về những vấn đề thực sự. Tính toán cụm nghe có vẻ tuyệt vời trong lý thuyết - kết hợp các máy để xử lý nhanh hơn - nhưng trên thực tế, việc cấu hình nó đúng cách là một cơn đau đầu.
Điện toán lưới được đánh giá quá cao. Vâng, nó kết nối tài nguyên từ khắp nơi trên thế giới, nhưng hãy thử quản lý điều đó khi có các múi giờ khác nhau, luật lệ khác nhau và kết nối internet kém ở một số quốc gia. Các thợ đào tiền điện tử hiểu rõ điều này - có vẻ lý tưởng khi hợp tác, cho đến khi ai đó trong pool quyết định giữ toàn bộ bánh.
Ưu điểm và nhược điểm: thực tế khắc nghiệt
Các lợi ích là rõ ràng: khả năng mở rộng, khả năng chịu lỗi... nhưng hãy nói thẳng ra, đây không phải là thiên đường. Việc phối hợp giữa các nút có thể là một cơn ác mộng. Tôi đã thấy những hệ thống "phân tán" mà nửa thời gian bị mất để đồng bộ hóa trạng thái và giải quyết xung đột.
Và đừng bắt tôi phải nói về sự phức tạp. Việc duy trì những hệ thống này đòi hỏi một kiến thức chuyên môn đến nỗi bạn trở thành nô lệ cho chính sáng tạo của mình. Khi có điều gì đó trục trặc, chúc bạn may mắn trong việc tìm ra vấn đề nằm ở đâu giữa bao nhiêu thành phần liên kết với nhau.
Loại: mỗi loại tệ hơn loại trước
Khách hàng-máy chủ, P2P, cơ sở dữ liệu phân tán... mỗi kiến trúc đều có những vấn đề riêng. Kiến trúc P2P rất tuyệt cho đến khi bạn nhận ra rằng không ai muốn chia sẻ tài nguyên, chỉ muốn tiêu thụ chúng. Cơ sở dữ liệu phân tán hứa hẹn sự nhất quán nhưng hãy thử giải thích với sếp của bạn tại sao đôi khi dữ liệu lại không đồng bộ.
Những đặc điểm mà không ai nói với bạn
Đồng thời là một khái niệm đẹp cho đến khi bạn gặp phải tình trạng chết lạng, nơi mỗi quá trình đều chờ đợi quá trình khác và mọi thứ đều bị tê liệt. Khả năng mở rộng theo chiều ngang nghe có vẻ tốt, nhưng mỗi nút mới lại thêm độ phức tạp theo cấp số nhân.
Sự minh bạch là huyền thoại lớn nhất. Không có hệ thống phân tán nào thực sự minh bạch - luôn có những chi tiết bị rò rỉ và cuối cùng làm phức tạp cuộc sống của người dùng cuối.
Chúng thực sự hoạt động như thế nào?
Lý thuyết nói rằng bạn chia nhỏ các nhiệm vụ, phân phối chúng và mọi thứ sẽ hoạt động một cách kỳ diệu. Thực tế là bạn dành nhiều thời gian hơn để thiết kế các giao thức giao tiếp, quản lý sự cố và gỡ lỗi các vấn đề mạng hơn là thực hiện công việc hữu ích.
Các chuỗi khối là ví dụ hoàn hảo: về lý thuyết chúng có khả năng chống lỗi, nhưng khi có một nhánh (fork) trong chuỗi hoặc khi một nửa số nút không được cập nhật đúng cách, hãy xem ai sẽ giải quyết thảm họa.
Cuối cùng, các hệ thống phân tán giống như các mối quan hệ từ xa - về lý thuyết chúng có thể hoạt động, nhưng đòi hỏi rất nhiều giao tiếp, kiên nhẫn và khả năng chấp nhận sự hỗn loạn hơn những gì bất kỳ ai thừa nhận.
Thanh lịch trên giấy, hỗn loạn trong thực tế. Và vẫn vậy, chúng ta không thể sống thiếu chúng trong thế giới kết nối này.