Dịch vụ vi mô với go-kit Phần II

Tram Ho

Trong phần tôi đã tìm hiểu khái niệm về cách thức hoạt động của microservice và cách Go Kit phù hợp với thiết kế. Trong phần này, hãy đưa nó vào thực tế bằng cách triển khai một dịch vụ tạo câu ngẫu nhiên đơn giản.

Dịch vụ

Hãy bắt đầu từ logic kinh doanh của chúng tôi bằng cách xác định và triển khai dịch vụ, về cơ bản là hợp đồng. Với mục đích của ví dụ này, dịch vụ của chúng tôi sẽ có một phương thức đơn giản, lấy n số tập hợp để trả về và trả về n tập hợp ngẫu nhiên.

Điểm cuối

Điểm cuối của chúng tôi sẽ gói các câu trả về từ dịch vụ vào cấu trúc SentencesResponse với trường DataErr . Bởi vì chỉ có thể đến từ đầu vào xấu của máy khách, chúng tôi sẽ chỉ bao gồm lỗi trong cấu trúc trả về để chúng tôi có thể phản hồi cho khách hàng loại lỗi nào khiến máy chủ bị lỗi. Chúng tôi cũng bọc điểm cuối của chúng tôi trong phần loggingMiddleware , phần mềm này lấy một bộ ghi và điểm cuối và trả về một điểm cuối mới được trang trí bằng hành vi ghi nhật ký.

Vận chuyển HTTP

Để đưa dịch vụ của chúng tôi ra thế giới bên cạnh, chúng tôi chọn giao thức HTTP làm phương tiện di chuyển. Số lượng câu trả về sẽ được nhận ở dạng thân yêu cầu từ yêu cầu POST và khi chúng tôi nhận được kết quả từ điểm cuối, chúng tôi sẽ viết phản hồi JSON cho khách hàng. Việc kiểm tra chuyển đổi và loại là để nhận lỗi do người dùng tạo, chúng tôi đã gói bên trong cấu trúc SentencesResponse và hiển thị nó theo đó. Bất kỳ lỗi nào trả về từ endpoint sẽ bị tùy chọn máy chủ ServerErrorEncoder bắt gặp.

Dây nó lên

Đây là cách chúng tôi kết nối tất cả các thành phần với nhau để có được một dịch vụ làm việc. Không có gì lạ mắt ở đây, chỉ là một vài mã khởi tạo.

Phần kết luận

Tôi hy vọng từ bài đăng này, bạn sẽ có ý tưởng tốt hơn về cách triển khai microservice trong golang bằng các gói Go Kit.

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo