Phải làm gì với mạng frontend trên mạng trong môi trường microservice?


8

Gần đây chúng tôi đã bắt đầu phân chia ứng dụng web nguyên khối của mình thành các dịch vụ siêu nhỏ, từ từ cắt bỏ chức năng và viết lại thành các dịch vụ siêu nhỏ riêng lẻ. Tất cả đều diễn ra tốt đẹp ngoại trừ chúng tôi không chắc chắn về cách tốt nhất để tổ chức công việc frontend. Chúng tôi đã chia thành các nhóm sản phẩm với mỗi nhóm quản lý mã cho một số lượng nhỏ các dịch vụ siêu nhỏ để cung cấp một khu vực chức năng, ví dụ như Tìm kiếm, CMS, Checkout, v.v ... với mỗi nhóm có chủ sở hữu sản phẩm, chủ công nghệ và chủ scrum.

Vấn đề là trong khi mỗi nhóm sản phẩm đó có cơ sở mã phụ trợ riêng, chúng tôi có một cơ sở mã React.js duy nhất với các nhà phát triển frontend ngồi trong mỗi nhóm sản phẩm. Điều này gây ra một số vấn đề:

  • Thiếu các nhóm sản phẩm chéo truyền thông giữa các nhà phát triển frontend
  • Các vấn đề nhận được thay đổi được thực hiện để mã hóa cho nhóm khác "sở hữu" để hỗ trợ các tính năng mới của các nhóm khác
  • Không có chuyên gia kỹ thuật duy nhất đại diện cho nhóm frontend, trong khi các nhóm sản phẩm khác có lãnh đạo kỹ thuật thì không có ai hoàn thành vai trò này cho frontend

Chúng tôi đã tự hỏi làm thế nào những người khác xử lý việc này và đã thảo luận một vài cách tiếp cận như tách mã cơ sở, tạo ra một nhóm sản phẩm lối vào mà người dùng doanh nghiệp thường tham gia với các tính năng mới và yêu cầu dữ liệu / dịch vụ sẽ tham gia các nhóm sản phẩm khác từ nhóm frontend nhưng cả hai dường như đi kèm với các vấn đề của riêng họ!

Câu trả lời:


5

Frontend có nghĩa là phần quan trọng nhất (đó là phần người dùng thực sự sử dụng), nó có cấu trúc dữ liệu, cơ sở hạ tầng, nhà phát triển chuyên biệt và nó cần liên lạc với tất cả các nhóm khác. Nếu phần còn lại của phần phụ trợ được chia thành các dịch vụ, thì đó cũng là phần trung tâm nhất.

Vì vậy, cách duy nhất để làm việc là để cho frontend có nhóm riêng , tôi sẽ nói trước khi bạn chia phần phụ trợ thành nhiều nhóm nhưng điều đó đã xảy ra.

Thiếu giao tiếp - cách duy nhất để bất kỳ nhóm phụ trợ nào có bất cứ điều gì xảy ra trên frontend là liên lạc với nhóm frontend.

Vấn đề nhận được các thay đổi được thực hiện đối với mã frontend - chủ sở hữu sản phẩm của frontend quyết định những tính năng nào cần phải đi vào frontend trước, không ai khác.

Có một kỹ thuật dẫn cho frontend.

Điều này cũng rõ ràng bởi vì một trong những lợi ích của việc phân chia rõ ràng giữa frontend và backend (không có điều gì bạn không thể bắt đầu chia phần phụ trợ thành các bit tiếp theo, vì vậy tôi giả sử rằng bạn đã sắp xếp nó ra), đó là bạn có thể có một số mặt trận hoàn toàn khác nhau làm những việc khác nhau với các dịch vụ phụ trợ. Rõ ràng đó sẽ là những sản phẩm khác nhau.

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.