Một địa chỉ IP anycast duy nhất không cung cấp cho bạn sự dư thừa giống như hai địa chỉ IP unicast trong các tiền tố IP riêng biệt.
Thông thường, vấn đề khó khăn nhất đối với sự dư thừa không phải là khi một cái gì đó thất bại hoàn toàn, mà là khi nó hoạt động sai chỉ đủ để vẫn vượt qua kiểm tra sức khỏe, nhưng không thực sự có chức năng.
Tôi đã thấy một thiết lập DNS anycast nơi máy chủ DNS bị hỏng, nhưng các gói vẫn sẽ được chuyển đến máy chủ DNS đó. Bất cứ điều gì quan tâm đến quảng cáo, tiền tố có thể đơn giản là không biết, máy chủ DNS đã bị hỏng.
Nó thậm chí còn trở nên khó khăn hơn nếu máy chủ DNS được đề cập không phải là máy chủ DNS có thẩm quyền, mà là một bộ giải quyết đệ quy.
Bộ giải quyết đệ quy như vậy sẽ cần có cả địa chỉ anycast để nhận truy vấn từ máy khách và địa chỉ unicast để truy vấn máy chủ DNS có thẩm quyền. Nhưng nếu các địa chỉ unicast bị hỏng, nó có thể dễ dàng trông đủ khỏe để nó vẫn được truy vấn.
Anycast là một công cụ tuyệt vời cho khả năng mở rộng và giảm độ trễ. Nhưng để dự phòng thì không nên đứng một mình.
Tuy nhiên, nhiều nhóm anycast dư thừa là một giải pháp tốt cho tính khả dụng. Một ví dụ nổi tiếng là 8.8.8.8 và 8.8.4.4. Cả hai đều là địa chỉ anycast, nhưng chúng không bao giờ được chuyển đến cùng một máy chủ DNS vật lý (giả sử Google đã làm tốt công việc của mình).
Nếu bạn có 10 máy chủ DNS vật lý, bạn có thể định cấu hình chúng thành 2 nhóm với 5 máy chủ trong mỗi nhóm hoặc 5 nhóm với 2 trong mỗi nhóm. Bạn muốn tránh việc có một máy chủ DNS vật lý đồng thời ở nhiều nhóm.
Vậy bạn nên phân bổ bao nhiêu IP? Bạn cần phải có các IP có thể được cấu hình là anycast độc lập với nhau. Điều đó thường có nghĩa là bạn sẽ cần phân bổ toàn bộ / 24 không gian địa chỉ IPv4 hoặc / 48 không gian địa chỉ IPv6 cho mỗi nhóm. Điều này rất có thể hạn chế số lượng hồ bạn có thể có.
Ngoài ra, nếu chúng ta đang nói các máy chủ có thẩm quyền, DNS trả lời với tất cả các bản ghi NS của bạn và keo A và AAAA sẽ phù hợp với một gói 512 byte duy nhất. Đối với các máy chủ gốc, việc này có tới 13 địa chỉ. Nhưng điều đó không bao gồm keo và IPv6, vì vậy số lượng bạn đạt được sẽ thấp hơn.
Mỗi hồ bơi nên được phân phối theo địa lý càng tốt. Nếu bạn có 5 máy chủ ở Châu Âu và 5 ở Noth America và 2 IP anycast, bạn không tạo một nhóm trải dài trên mỗi lục địa. Bạn đặt 2 từ châu Âu vào một hồ bơi với 3 từ Bắc Mỹ và 5 từ còn lại ở bể kia.
Nếu bạn có nhiều hơn 2 pool anycast, bạn có thể để máy chủ vật lý tạm thời ở nhiều hơn một pool. Nhưng bạn không bao giờ nên cho phép một máy chủ vật lý ở trong tất cả các nhóm cùng một lúc.
Kết hợp anycast và unicast là có thể, nhưng phải cẩn thận. Nếu bạn có IP cho hai nhóm, tôi sẽ không kết hợp. Nhưng nếu bạn chỉ có một IP anycast duy nhất để làm việc, thì cũng có thể bao gồm các IP unicast. Vấn đề là bao gồm các IP unicast sẽ không cung cấp cho bạn độ trễ tốt và cân bằng tải.
Nếu một máy chủ vật lý được cung cấp bởi cả unicast và anycast, bạn có thể gặp rủi ro khi người dùng truy cập cùng một máy chủ là chính và phụ và mất quyền truy cập nếu nó bị hỏng. Điều này có thể tránh được bằng cách chỉ sử dụng các địa chỉ unicast của các máy chủ không nằm trong nhóm anycast hoặc luôn luôn cung cấp cho người dùng hai địa chỉ unicast.
Càng nhiều địa chỉ unicast bạn đưa vào hỗn hợp, càng ít truy vấn sẽ được gửi đến địa chỉ anycast và bạn sẽ nhận được càng ít lợi ích từ anycast về độ trễ và khả năng mở rộng.