Thế nào thì có thể gọi là Micro-Service?

Câu hỏi:

Thế nào thì có thể gọi là Micro-Service?

Gợi ý:

  • Không có định nghĩa rõ ràng, nhưng khi phát triển dựa vào kiến trúc microservice thì thường mong muốn đạt được các điều sau:
  • Thực hiện một chức năng nhất định của business domain

  • Độc lập về development (không phụ thuộc vào team khác, môi trường khác, mỗi team có thể develop một stack khác nhau)

  • Độc lập về delpoy ( thằng khác chết kệ nó, mình chết ko ảnh hưởng đến thằng khác)

  • Dễ mở rộng cũng như update những thay đổi về bussiness và environment

  • Develop nhanh, làm đến đâu có thể golive đến đó

  • Tận dụng thế mạnh của stack khác nhau cho các mục đích implement khác nhau.

  • Nên kế thừa Conway's law, thiết kế service phải theo cơ cấu của tổ chức nữa. Ví dụ, công ty phòng IT & phòng kỹ thuật tách biệt nhau, mà lúc thiết kế gom lại làm 1 service là không được gọi là micro rồi. Nên trở lại câu chuyện bạn BA phải giỏi để design cái bulkhead cho ngon

  • Service đó phải cover vừa và đủ các bounded context thì quan trọng hơn việc xác định các size. Chia nhỏ quá không khéo thành function as a service cũng không tốt, quan trọng là chia nhỏ đến bao nhiêu là đủ

Nguồn bài viết: https://tech.homestudy.edu.vn/thread/the-nao-thi-co-the-goi-la-micro-service/