Computer >> Máy Tính >  >> Lập trình >> Redis

Kiến trúc khả dụng cao được phân cấp

Kiến trúc tính khả dụng cao là gì?

Kiến trúc khả dụng cao là khi có một số thành phần, mô-đun hoặc dịch vụ khác nhau hoạt động cùng nhau để duy trì hiệu suất tối ưu, bất kể tải trong thời gian cao điểm.

Kiến trúc khả dụng cao được phân cấp

Theo nghĩa thuần túy nhất của nó, hệ thống này cho phép các doanh nghiệp hoạt động liên tục mà không bị hỏng hóc trong một khoảng thời gian nhất định. Nhiều doanh nghiệp không thể dành dù chỉ một phút thời gian ngừng hoạt động. Xem xét rằng dữ liệu là mạch máu của nhiều doanh nghiệp, thậm chí chỉ cần một khoảng thời gian ngừng hoạt động ngắn cũng có thể tốn kém vô cùng.

Trong một số tình huống thực tế, cuộc sống có thể phụ thuộc vào cơ sở dữ liệu được xây dựng để có tính khả dụng cao. Khi một bệnh nhân đến phòng cấp cứu, các chuyên gia y tế cần truy cập ngay vào hồ sơ sức khỏe y tế của họ để hiểu những quyết định điều trị nào là tốt nhất. Bất kỳ sự chậm trễ nào trong việc truy cập thông tin này đều có thể có tác động nghiêm trọng.

Lưu ý:Tính khả dụng cao thường được đo bằng phần trăm thời gian mà một dịch vụ có sẵn cho người dùng. Theo Bảng thuật ngữ dành cho nhà phát triển mạng của Microsoft, để một máy chủ được coi là “khả dụng cao”, nó cần đạt được 99,999% thời gian hoạt động của mạng.

Cụm có tính khả dụng cao là gì?

Các cụm có tính khả dụng cao là một nhóm các máy chủ hợp nhất thành một hệ thống duy nhất để ngăn chặn thời gian chết. Nếu một máy chủ trong cụm khả dụng cao gặp sự cố, ứng dụng quan trọng sẽ ngay lập tức được chuyển sang máy chủ khác ngay sau khi lỗi được phát hiện.

Không có hệ thống nào miễn nhiễm với sự cố và các cụm có tính khả dụng cao đảm bảo rằng các mức hiệu suất tối ưu được duy trì bất kể lỗi không thể tránh khỏi. Do đó, chúng có xu hướng được sử dụng cho các ứng dụng, trang web và hệ thống xử lý giao dịch quan trọng nhất.

Phân nhóm tính khả dụng cao hoạt động như thế nào?

Một cụm có tính sẵn sàng cao sẽ sử dụng nhiều hệ thống đã được tích hợp, vì vậy nếu sự cố xảy ra khiến một hệ thống bị lỗi, một hệ thống khác có thể được tận dụng một cách hiệu quả để duy trì tính liên tục của dịch vụ hoặc ứng dụng đang được sử dụng.

Cụm cân bằng tải có tính khả dụng cao đóng một vai trò quan trọng trong việc ngăn ngừa các lỗi hệ thống. Có một bộ cân bằng tải tại chỗ về cơ bản phân phối lưu lượng truy cập trên các nút web khác nhau đang phục vụ cùng một trang web hoặc người dùng ứng dụng. Điều này làm giảm áp lực lên bất kỳ máy chủ nào, cho phép mỗi cụm hoạt động tối ưu hơn trong khi chỉ cho phép lưu lượng truy cập được gửi đến các máy chủ khỏe mạnh.

Khái niệm cụm tính khả dụng cao

Cụm Chủ động-Bị động

Cụm chủ động / bị động được tạo thành từ ít nhất hai nút. Như tên của nó, không phải tất cả các nút sẽ hoạt động. Nếu một nút đang hoạt động, nút thứ hai là nút chỉ đọc khi ở chế độ chờ. Máy chủ thụ động hoạt động như một bản sao lưu và sẽ được sử dụng nếu máy chủ hoạt động không hoạt động.

Cụm đang hoạt động

Loại cụm này thường sử dụng ít nhất hai nút thực thi cùng một dịch vụ cùng một lúc. Trong một cụm hoạt động tích cực, cả hai nút đều hoạt động như các nút chính, có nghĩa là có thể chấp nhận đọc hoặc ghi. Nếu một nút bị lỗi, người dùng sẽ tự động được kết nối với nút kia để đảm bảo tính liên tục của dịch vụ. Khi nút đầu tiên đã được thay thế, người dùng sau đó sẽ được phân chia giữa hai nút ban đầu.

Lợi ích bao trùm của cụm hoạt động / hoạt động là nó cho phép bạn thực hiện cân bằng mạng nút. Nếu các trường hợp lỗi máy chủ được phát hiện, bộ cân bằng tải sẽ truyền yêu cầu của người dùng đến các máy chủ sẵn có và sau đó phân tích hoạt động của mạng nút. Sau đó, bộ cân bằng tải sẽ đẩy lưu lượng đến các nút có khả năng phục vụ lưu lượng đó, cho phép mức độ chịu lỗi cao hơn

Chiến lược này tuân theo một quy trình theo chu kỳ, tương tự như mô hình tổng hợp, theo đó người dùng được rải ngẫu nhiên trên các nút có sẵn hoặc ngược lại, có thể tuân theo một sơ đồ cân trong đó một nút được ưu tiên hơn nút khác dựa trên tỷ lệ phần trăm.

Shared-Nothing so với Shared-Disk Cluster

Một quy tắc chung được tuân theo trong máy tính phân tán là tránh bằng mọi giá. Điều này đòi hỏi các nguồn lực phải được nhân rộng hoặc có thể thay thế một cách tích cực, không một yếu tố nào bị gián đoạn nếu dịch vụ đầy đủ đi xuống.

Hãy tưởng tượng nếu bạn có năm mươi nút đang chạy được cung cấp bởi một cơ sở dữ liệu. Nếu một nút bị lỗi, nó sẽ không có tác động đến trạng thái liên tục của những nút khác, bất kể số lượng nút đang chạy.

Nhưng nếu cơ sở dữ liệu bị lỗi, toàn bộ cụm sẽ đi xuống, khiến cơ sở dữ liệu trở thành một điểm lỗi duy nhất? Đây được gọi là cụm đĩa dùng chung.

Mặt khác, nếu mỗi nút duy trì cơ sở dữ liệu của nó, một nút bị lỗi sẽ không ảnh hưởng đến toàn bộ cụm. Đây được gọi là cụm không có gì được chia sẻ.

Lưu ý: Nếu bạn muốn khám phá thêm về công nghệ phân nhóm tính khả dụng cao, hãy nhớ xem hội thảo trên web này. Với hơn 20 năm kinh nghiệm trong ngành phần mềm, George Carbonnel sẽ giải nén mọi thứ bạn cần biết về cách công nghệ phân cụm với Redis Enterprise mang lại hiệu suất cao cũng như tính sẵn sàng cao.

Yêu cầu của một kiến ​​trúc có tính khả dụng cao

Có một số yêu cầu khác nhau mà bạn cần để tối đa hóa độ bền và tính khả dụng cao. Chúng bao gồm:

Cân bằng tải

Cân bằng tải là rất quan trọng đối với bất kỳ kiến ​​trúc sẵn có nào. Chức năng chính của nó là phân phối lưu lượng truy cập qua các máy chủ phụ trợ để truyền dữ liệu hiệu quả hơn cũng như ngăn chặn tình trạng quá tải của máy chủ. Điều kiện tiên quyết của bất kỳ hệ thống cân bằng tải nào là xác định quy trình chuyển đổi dự phòng nào nên được thực hiện khi có lỗi nút.

Khả năng mở rộng dữ liệu

Khả năng mở rộng cơ sở dữ liệu hoặc đơn vị lưu trữ đĩa phải được tính đến bởi tất cả các kiến ​​trúc có tính khả dụng cao. Có hai giải pháp bạn có thể chọn để đạt được khả năng mở rộng:

  • Sử dụng cơ sở dữ liệu chính của kiến ​​trúc và sử dụng sao chép hoặc phân vùng để làm cho nó có tính khả dụng cao; hoặc
  • Đảm bảo rằng các phiên bản ứng dụng riêng lẻ có khả năng duy trì việc lưu trữ dữ liệu của riêng chúng

Đa dạng về địa lý

Chúng ta đang sống trong một thế giới kỹ thuật số có nhịp độ nhanh, nơi việc có thể phân phối các cụm có tính khả dụng cao trên toàn cầu hiện là điều bắt buộc. Làm như vậy sẽ đảm bảo rằng nếu một thảm họa thiên nhiên xảy ra ở một địa điểm, tác động gây ra sẽ không cản trở khả năng cung cấp dịch vụ của họ.

Sao lưu và phục hồi (khôi phục sau thảm họa)

Đối với tất cả tính nhất quán của nó, các kiến ​​trúc có tính khả dụng cao sẽ luôn dễ bị ảnh hưởng bởi một số loại trục trặc có thể làm gián đoạn dịch vụ. Do đó, nếu một dịch vụ gặp sự cố, doanh nghiệp phải có sẵn chiến lược khôi phục để toàn bộ hệ thống hoạt động trở lại càng nhanh càng tốt.

Điều này thường được gọi là khôi phục sau thảm họa - một tập hợp các chính sách và thủ tục được thiết kế để đưa một dịch vụ trở lại đầy đủ chức năng trong trường hợp có sự kiện gián đoạn.

Cách đo tính khả dụng cao

Tính khả dụng cao thường được đo bằng phần trăm thời gian mà một dịch vụ có sẵn cho người dùng. Điều này được thực hiện bằng cách chia tổng thời gian hoạt động cho khoảng thời gian của hệ thống, sau đó nhân với 100 để có tỷ lệ phần trăm. Theo Bảng thuật ngữ dành cho nhà phát triển mạng của Microsoft, để một máy chủ được coi là “khả dụng cao”, nó cần đạt được 99,999% thời gian hoạt động của mạng.

Thông thường, tỷ lệ phần trăm khả dụng được gọi là số nines trong các chữ số. Vì vậy, bốn số chín sẽ là 99,99%.

Lưu ý: Tính khả dụng 99,99% được coi là tiêu chuẩn của ngành.

Các phương pháp hay nhất để có tính khả dụng cao

Có một số bước bạn có thể thực hiện để tối đa hóa tính khả dụng cao, từ số lượng thành phần bạn phải kiểm tra đến thay thế các máy chủ bị lỗi. Dưới đây là một số phương pháp mà bạn có thể sử dụng để đạt được tính khả dụng cao.

Đạt được dự phòng về địa lý

Dự phòng địa lý là một tuyến phòng thủ quan trọng chống lại sự bùng phát của các thảm họa thiên nhiên có thể dẫn đến sự cố dịch vụ. Thực tiễn này liên quan đến việc triển khai nhiều máy chủ trên các vị trí địa lý khác nhau, do đó phân tán rủi ro và cho phép kiến ​​trúc rơi trở lại trên một máy chủ khác nếu một thảm họa tự nhiên xảy ra ở một khu vực.

Lưu ý: Bạn có thể dễ dàng đạt được điều này với cơ sở dữ liệu có Phân phối Địa lý Hoạt động-Hoạt động.

Sử dụng các giải pháp chuyển đổi dự phòng

Các kiến ​​trúc có tính khả dụng cao thường liên quan đến nhiều máy chủ được ghép nối lỏng lẻo cung cấp khả năng chuyển đổi dự phòng. Chuyển đổi dự phòng được coi là một chế độ hoạt động dự phòng được sử dụng tự động khi các chức năng của hệ thống chính gặp sự cố.

Triển khai trình cân bằng tải

Như đã đề cập trước đây, một bộ cân bằng tải sẽ lan truyền lưu lượng đến trên các máy chủ khác nhau để giảm thiểu rủi ro của bất kỳ thời gian chết nào. Đảm bảo định cấu hình bộ cân bằng tải của bạn để sử dụng thuật toán phù hợp với nhu cầu của bạn nhằm tối ưu hóa hoàn toàn giải pháp này.

Đảm bảo rằng đồng bộ hóa dữ liệu của bạn đáp ứng Mục tiêu Điểm khôi phục (RPO)

RPO là điểm đánh dấu cho lượng dữ liệu tối đa bạn có thể mất mà không gây hại cho tổ chức của bạn. Điều này làm nổi bật khả năng mất mát dữ liệu của toàn bộ doanh nghiệp của bạn và nó có xu hướng được đo bằng đơn vị thời gian, ví dụ:1 phút hoặc 1 ngày.

Đặt RPO của bạn nhỏ hơn hoặc bằng 60 giây sẽ giúp bạn duy trì tính khả dụng tối đa. Làm như vậy sẽ đảm bảo rằng nếu có lỗi nguồn chính, bạn sẽ không mất quá 60 giây dữ liệu.

Vai trò của Redis trong kiến ​​trúc có tính khả dụng cao

Redis Enterprise là một giải pháp mạnh mẽ cho bất kỳ công ty lớn nào muốn đạt được tính khả dụng tối đa. Đây là một nền tảng dữ liệu thời gian thực đảm bảo tính khả dụng của 5,9 tuổi, cung cấp khả năng phục hồi cơ sở dữ liệu tự động ưu việt đồng thời giảm thiểu rủi ro lỗi phần cứng và ngừng hoạt động trên đám mây.

Redis Enterprise đáp ứng nhu cầu sẵn sàng cao của các ứng dụng doanh nghiệp quan trọng nhất. Nó cung cấp chức năng hàng đầu trong ngành để cung cấp tính khả dụng 99,999% bằng cách sử dụng:Active-Active Geo Distribution, tự động chuyển đổi dự phòng, phân cụm thông minh, kiến ​​trúc không chia sẻ gì và phân phối toàn cầu.

Bạn muốn tìm hiểu thêm về cách đạt được tính khả dụng cao?