Lãnh sự - Giới thiệu
Consul là một công cụ dựa trên Hashicorp để khám phá và định cấu hình nhiều loại dịch vụ khác nhau trong cơ sở hạ tầng của bạn. Nó dựa trên Golang. Một trong những lý do cốt lõi để xây dựng Consul là duy trì các dịch vụ hiện có trong hệ thống phân tán. Một số tính năng quan trọng mà Consul cung cấp như sau.
Service Discovery - Sử dụng DNS hoặc HTTP, các ứng dụng có thể dễ dàng tìm thấy các dịch vụ mà chúng phụ thuộc vào.
Health Check Status- Nó có thể cung cấp bất kỳ số lượng kiểm tra sức khỏe nào. Nó được sử dụng bởi các thành phần khám phá dịch vụ để định tuyến lưu lượng truy cập khỏi các máy chủ không lành mạnh.
Key/Value Store - Nó có thể sử dụng kho khóa / giá trị phân cấp của Lãnh sự cho bất kỳ mục đích nào, bao gồm cấu hình động, gắn cờ tính năng, điều phối, bầu cử lãnh đạo, v.v.
Multi Datacenter Deployment- Lãnh sự hỗ trợ nhiều trung tâm dữ liệu. Nó được sử dụng để xây dựng các lớp trừu tượng bổ sung để phát triển đến nhiều vùng.
Web UI - Consul cung cấp cho người dùng một giao diện web đẹp, dễ sử dụng và quản lý tất cả các tính năng trong lãnh sự.
Khám phá dịch vụ
Khám phá dịch vụ là một trong những tính năng quan trọng nhất của Lãnh sự. Nó được định nghĩa là việc phát hiện các dịch vụ và giao thức mạng khác nhau sử dụng một dịch vụ được tìm thấy. Việc sử dụng dịch vụ khám phá có lợi cho các hệ thống phân tán. Đây là một trong những vấn đề chính mà các ngành công nghiệp quy mô lớn ngày nay phải đối mặt với sự tiến bộ của các hệ thống phân tán trong môi trường của chúng.
So sánh với Etcd và Zookeeper
Khi xem xét các công cụ khám phá dịch vụ khác trong miền này, chúng tôi có hai tùy chọn phổ biến. Một số công ty lớn trong ngành công nghiệp phần mềm đã sử dụng nó trong quá khứ. Những công cụ này làEtcd và Zookeeper.
Chúng ta hãy xem xét bảng sau để so sánh các khía cạnh khác nhau của từng công cụ. Chúng tôi cũng sẽ hiểu những gì mỗi người trong số họ sử dụng nội bộ.
Tính chất | Lãnh sự | Vv | Người giữ vườn thú |
---|---|---|---|
Giao diện người dùng | Có sẵn |
|
|
RPC | Có sẵn | Có sẵn |
|
Kiểm tra sức khỏe | API HTTP | API HTTP | TCP |
Giá trị cốt lõi | 3 chế độ nhất quán | Tính nhất quán tốt | Tính nhất quán mạnh mẽ |
Hệ thống mã thông báo | Có sẵn |
|
|
Ngôn ngữ | Golang | Golang | Java |
Lãnh sự - Thành viên và Đại lý
Các thành viên lãnh sự có thể được định nghĩa là danh sách các đại lý và chế độ máy chủ khác nhau sử dụng mà một cụm lãnh sự được triển khai. Lãnh sự cung cấp cho chúng tôi một tính năng dòng lệnh bằng cách sử dụng mà chúng tôi có thể dễ dàng liệt kê tất cả các đại lý liên kết với lãnh sự.
Đại lý lãnh sự là quy trình cốt lõi của Lãnh sự. Tác nhân lưu giữ thông tin thành viên, đăng ký dịch vụ, chạy kiểm tra, trả lời các truy vấn, v.v. Bất kỳ tác nhân nào cũng có thể chạy ở một trong hai chế độ:Client hoặc là Server. Hai chế độ này có thể được sử dụng tùy theo vai trò đã được quyết định khi sử dụng lãnh sự. Đại lý lãnh sự giúp đỡ bằng cách cung cấp cho chúng tôi thông tin được liệt kê bên dưới.
Node name - Đây là tên máy chủ của máy.
Datacenter- Trung tâm dữ liệu mà tác nhân được cấu hình để chạy. Mỗi nút phải được cấu hình để báo cáo tới trung tâm dữ liệu của nó.
Server- Nó cho biết tác nhân đang chạy ở chế độ máy chủ hay máy khách. Các nút máy chủ tham gia vào túc số đồng thuận, lưu trữ trạng thái cụm và xử lý các truy vấn.
Client Addr- Đây là địa chỉ được sử dụng cho các giao diện máy khách bởi tác nhân. Nó bao gồm các cổng cho giao diện HTTP, DNS và RPC.
Cluster Addr- Đây là địa chỉ và tập hợp các cổng được sử dụng để liên lạc giữa các Đại lý Lãnh sự trong một cụm. Địa chỉ này phải được truy cập bởi tất cả các nút khác.
Trong chương tiếp theo, chúng ta sẽ hiểu về kiến trúc dành cho Lãnh sự.