Làm thế nào để kiểm tra một cụm microservice?


7

Tôi đã xem qua Server Spec và nó nói rõ:

Lưu ý: bộ kiểm tra máy chủ có nghĩa là được chạy trên một máy đơn (hoặc bộ chứa docker). Nói cách khác, bạn không nên cố gắng đưa ra một lệnh rspec duy nhất có thể thu hoạch và chạy thử nghiệm đối với nhiều máy hoặc container. Bạn cần phát hành một lệnh rspec cho mỗi lệnh.

Vì vậy, tôi có thể kiểm tra trên mỗi máy chủ, tốt cho một số trường hợp. Nhưng vấn đề là như sau: kiến ​​trúc microservice của tôi có dịch vụ tự động phát hiện, vì vậy một số dịch vụ được biết đến sau khi truy vấn nó. Có dự án nào để thể hiện điều này? Tôi biết tôi có thể sử dụng công cụ với ruby ​​(hoặc python nếu tôi chọn testinfra hoặc loại khác)

Một cái gì đó tích hợp với Consul với serverpec hoặc tương tự sẽ rất tuyệt, trong năm 2014 mọi người đang tìm kiếm điều này , có ai biết bất kỳ dự án nào giải quyết vấn đề này không?


1
Tôi nghĩ rằng bạn đang hiểu nhầm chạy trên một cá thể (bất kể nhu cầu bên ngoài là gì) với việc kiểm tra nhiều phiên bản trong cùng một lần chạy.
Tensibai

2
Microservice của bạn được lưu trữ như thế nào? Docker Container?
Richard Slater

Các dịch vụ siêu nhỏ của tôi đang chạy trong máy ảo và một số trong số chúng trong Máy vật lý (chúng tôi thực hiện di truyền, do đó, có một số cụm tại chỗ bên cạnh trình sắp xếp thứ tự)
nicocesar

Tôi đã tìm thấy bài viết này hữu ích nếu bất cứ ai có thời gian để sử dụng nó. toptal.com/nodejs/nodejs-guide-integration-tests
avi

2
Vui lòng làm rõ về loại thử nghiệm mà bạn đang tìm kiếm, có nhiều cách tiếp cận khác nhau để kiểm tra cấu hình hệ thống / tích hợp cấu hình máy chủ bằng cách sử dụng ServerSpec hoặc KitchenCI, hoặc thử nghiệm rằng microservice đang hoạt động và sử dụng yêu cầu HTTP đơn giản mà mỗi dịch vụ microsoft nên thực hiện, và khác nhau về bản chất, thử nghiệm ứng dụng đầu cuối có thể là whitebox / hộp đen bằng cách sử dụng ví dụ khung kiểm tra tự động hóa BDD hoặc Selenium.
rombob

Câu trả lời:


2

Nếu không có gì tồn tại để dễ dàng chế giễu Lãnh sự, bạn đã xem xét việc cung cấp dịch vụ Lãnh sự cùng với các dịch vụ siêu nhỏ khác chưa? Lãnh sự có thể chạy trong Docker, vì vậy điều này khá đơn giản nếu bạn sử dụng docker-compose và các ứng dụng của bạn có thể được cấu hình để trỏ đến điểm cuối của Lãnh sự khác.

Khi docker-compose của bạn được cấu hình để tăng tốc tất cả các cơ sở hạ tầng / microservice cần thiết cho thử nghiệm của bạn, bạn sẽ có thể sử dụng bất kỳ công cụ nào bạn quen thuộc để kiểm tra microservice của mình, ví dụ Selenium.


1

Tôi thích SaltStack vì quản lý cấu hình cung cấp kiểm tra nút nếu bạn muốn ở trạng thái, trên mỗi nút và kết quả được kết hợp trong trạng thái công việc và được tính đầy đủ trong các trình trả về.

Các trạng thái SaltStack cũng cho phép bạn tạo các sự kiện thành công hay thất bại và nó cho phép các nút quảng cáo dữ liệu điểm cuối tùy ý (ví dụ: ip: port đang nghe), có sẵn cho các trạng thái cấu hình của các nút khác.

Sự kết hợp của cả hai giúp bạn có được những gì bạn có thể muốn từ Lãnh sự.


Làm thế nào để nó so sánh với lãnh sự về tính sẵn có của dịch vụ? Nếu một nút của dịch vụ phụ thuộc rơi vào OOM 3 giờ sau khi công việc muối của bạn trở lại, làm thế nào bạn loại bỏ nút này khỏi cụm dịch vụ và tránh công việc triển khai của bạn để gọi nó? Tôi nghĩ rằng dòng cuối cùng là hoàn toàn ra khỏi phạm vi.
Tensibai
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.