Home / Project Guides Đầu dòng

Thiết kế cấu trúc dịch vụ vi mô trên mây

Hệ thống phân phối linh hoạt, tiến hóa được xây dựng trên nền tảng của Kubernetes, mạng lưới dịch vụ, các lớp giao tiếp, và các tính năng quan sát.

Thực hành chuyên nghiệp ZHHUA OIGINALPhân biệt từ lĩnh vực này đến lãnh đạo dịch vụ khác, xây dựng một cơ sở công nghệ bền vững, ổn định và bền vữngNhững đám mây là một cấu trúc, nguyên bản của ZhiHua Tech.

Áp dụng cảnh

Sự trùng khớp về tổ chức và kỹ thuật mang khả năng của ứng dụng đơn truyền thống có thể giảm đáng kể khi doanh nghiệp tiến hóa từ một dòng sản phẩm duy nhất và một đơn vị đến một dòng đa sản phẩm + giai đoạn phát triển đa nguyên.Chu trình triển khai càng dài, chi phí thử nghiệm hồi quy càng cao, nhu cầu cần thay đổi nhỏ thành một mô-đun không phải đơn vị để được tái lập cho toàn bộ ứng dụngNhững tín hiệu này gợi ý rằng việc giới thiệu các cấu trúc vi dịch vụ không còn là “một phương pháp chế tạo quá mức mà là một điều kiện cần thiết để tiếp tục hiệu quả trong việc phân phối từng nhóm.

Những dấu hiệu chuyển điểm điển hình bao gồm: ứng dụng bắt đầu lần trong hơn 30 giây dẫn đến sự suy thoái của kinh nghiệm cập nhật nhanh; những biến đổi đáng kể trong tần số thay đổi trong các mô- đun kinh doanh khác nhau (các mô- đun giao dịch được cập nhật một lần một tuần và các mô-đun quản lý hậu cần có khả năng di chuyển chỉ một lần một tháng), nhưng các lực lượng cơ thể đơn lẻ để duy trì cùng một nhịp độ giải phóng; nhiều đội phát triển hợp tác với cùng một nhà kho mã để củng cố xung đột và trở lại rủi ro với sự tăng trưởng của chỉ số của nhóm; và các mô- đun bộ nhớ bị rò rỉ hoặc chết có thể giảm tốc độ của toàn bộ ứng dụng, và sự thiếu hụt nguồn lực của toàn bộ nguồn lực để làm cho toàn bộ hệ thống bị mất.

Những kịch bản được mô tả ở đây áp dụng cho các doanh nghiệp với tỷ lệ phát triển kinh doanh cao, hợp tác đa tầng lớp, nhu cầu cao về sự bền bỉ của hệ thống và sự phân phối hiệu quả.ZhiHua TechCung cấp dịch vụ chuyển đổi vi dịch vụ từ việc sắp xếp tư vấn đến việc thực hiện việc chứng minh, chứ không đại diện cho dữ liệu khách hàng cụ thể.

Những thách thức hoạt động điển hình

1.

  • Phát hành mối nối:30 các nhà phát triển có chung một kho mã và một dòng ghi lưu của CN/CD. Bất kỳ mã số nào có thể chặn việc giải phóng các mã khác. Sửa chữa cho lỗi trả tiền, mà phải đợi cho đến khi ghi chép trước của 5 máy cộng hưởng từ được củng cố và trở lại để kiểm tra đã hoàn tất -- những máy MRIs này không liên quan gì đến môđun thanh toán.
  • Thử nghiệm nổ.: Phạm vi thử nghiệm hồi quy cho một ứng dụng đơn là về ứng dụng "đầy đủ". Ngay cả khi SQL được sửa đổi với chỉ một giao diện truy vấn, nó mất 40 phút đến 2 giờ để chạy gói thử hoàn toàn đến cuối. Chiều dài của vòng kiểm tra phản hồi làm chậm tốc độ lặp lại.
  • Khoá kỹ thuậtToàn bộ ứng dụng được gắn liền với một nhà kho công nghệ (như Java 8+ Spring), một kịch bản kinh doanh mới thích hợp hơn cho Go hoặc Node.js, nhưng sự mở đầu của một ngôn ngữ mới có nghĩa là một hệ thống xây dựng, triển khai và giám sát, và các nhóm thường chọn "làm việc cùng nhau".

2. Độ phức tạp được mang đến bởi sự phân phối

  • Mạng không đáng tin cậy.Các hình mẫu lỗi này không tồn tại trong một cơ thể đơn thuần là thông thường dưới các cấu trúc vi dịch vụ. không có thời gian sử dụng lại, thử nghiệm lại và tan chảy, dịch vụ rung động như một đô-mi-nô.
  • Độ nhất quán dữ liệu▪ ACID là nền tảng cho dịch vụ cơ sở dữ liệu một nguồn. Dưới mỗi dịch vụ vi mô có cơ sở dữ liệu riêng, và các thao tác qua dịch vụ (theo sau là = dịch vụ = lệnh + kiểm kê dịch vụ thanh toán + dịch vụ thanh toán) phải phụ thuộc vào chương trình dịch vụ phân phối như Saga hay TCC để đảm bảo tính thống nhất cuối cùng. Sự chuyển đổi này từ "sự hoàn thành kinh doanh" sang "sự đáp ứng có thể cho mỗi bước" – là ngưỡng nhận thức khó nhất cho một nhóm vượt qua.
  • Bị bắt lỗi và bị thoái thácYêu cầu có thể vượt qua 5- 8 dịch vụ vi mô. Khi người dùng báo cáo một "tọa độ xuống" bạn cần phải va chạm chuỗi cuộc gọi đầy đủ từ một bản ghi cửa ra vào, đặt nhật ký dịch vụ, kiểm kê ghi lưu dịch vụ, không có bản ghi thanh công cụ phân phối (v. d. Jaeger, Sky Walking), vấn đề định vị như một cái kim.

3 Thiếu cơ sở hạ tầng và sự di chuyển

  • Ngăn chặn và tổ chứcVi dịch vụ là điều tự nhiên cho việc công cụ hóa, nhưng chính Kubernetes cũng có trình độ học tập cao.
  • Độ phức tạp CI/CDTừ dòng dẫn đến dòng N (một cho mỗi dịch vụ), xây dựng gương, đẩy, triển khai, quay lại đòi hỏi phải chuẩn hóa.
  • Khả năng quan sátTheo các cấu trúc vi dịch vụ, sự thiếu vắng của bất kỳ một trong các cột nào có thể dẫn đến sự giảm thiểu đáng kể khả năng cắt bỏ.

Suy nghĩ về thiết kế chương trình

1. chia cắt tiến triển thay vì Big Bang viết lại

ZhiHua Tech khăng đòi chuyển đổi dịch vụ vi dịch vụName• Tiến dần đến các mô-đun chức năng trong kiến trúc mới trong khi duy trì hoạt động bình thường của hệ thống cũ, tồn tại qua các lớp tuyến đường cho đến khi hệ thống cũ hoàn toàn được thay thế:

  • Trước tiên, chúng ta loại bỏ mô-đun thay đổi HF.Ưu tiên cho sự phân chia những mô - đun thường xuyên và độc lập nhất của doanh nghiệp (v. d. người dùng trung tâm, trung tâm hàng hóa).
  • Cổng API hợp nhấtCổng ra chịu trách nhiệm phân phối lộ trình, xác nhận quyền hạn, hạn chế dòng chảy và bản ghi. Yêu cầu tiến tới cửa ra vào dịch vụ đơn hoặc vi, bằng cách đầu lộ trình, không có cảm giác về đầu trang.
  • Cơ sở dữ liệu theo sau sự tách rời: Mỗi dịch vụ vi mô có một cơ sở dữ liệu độc lập, Schema (ngay cả một ví dụ về cơ sở dữ liệu đứng- độc lập), mà cuối cùng phù hợp với cơ sở dữ liệu bằng cách đồng bộ hóa dữ liệu hoặc gọi API. Dismantt trong các giai đoạn giảm nguy cơ bằng cách sử dụng chiến lược "Dub-book +-Top-Top-Rep- read".

2. Dịch vụ lưới quản lý giao tiếp

Khi số dịch vụ vi mô vượt quá 10, các dịch vụ truyền thống của SDK (SDK cho mỗi dịch vụ được đưa vào khuôn khổ RPC) bắt đầu phơi bày chi phí bảo trì - nâng cấp của SDK đòi hỏi tất cả các dịch vụ phải được tái cấu trúc và xuất bản, các dịch vụ SSDK khác nhau cần phải khác nhau và thay đổi chiến lược quản lý đòi hỏi phải thay đổi mã.

ZhiHua Tech khuyên giới thiệu sau quy mô dịch vụ đã đạt đến một cấp độ nhất định Dịch vụ Mesh (v. d. Istio + Encoy)không phải là khả năng quản lý của đặc vụ Sidecar:

  • NamePhóng thích mức xám (bằng cách đánh lạc hướng/ Hê-đa- ga-de) rớt thử ra, yêu cầu gương - những khả năng này có thể đạt được thông qua quy tắc thiết kế của Istio và cấu hình Dịch vụ Điều khiển Trọng yếu mà không cần phải sửa đổi mã kinh doanh.
  • Liên lạc bảo mật: MTLS (sự xác thực 2 chiều) được tự động hiệu lực cho giao tiếp liên dịch vụ, giả định, xoay và đệ trình chứng nhận được tự động quản lý bởi Citadel, và các nhà phát triển kinh doanh không cần phải nhận biết cơ chế bảo mật từ dưới lên.
  • Khả năng quan sát: Sidecar tự động thu thập dữ liệu điện tử (được tích hợp, thành công, tỷ lệ lỗi) cho tất cả các trạm đến và đi, và kết xuất tới “Slug ” + Jaeger (link) + ELK (log), tạo một tam giác hoàn chỉnh.

CI/CD và Gitoops dòng giao hàng

ZhiHua Tech giúp khách hàng xây dựng một hệ thống CN/CD chuẩn, nguyên tắc cốt lõi làMột mẫu để trang trải xây dựng và triển khai tất cả các dịch vụ:

  • Comment: Tất cả các dịch vụ vi mô đều có chung một tập hợp mẫu kiểu CN/CD (Jenkinsfile hay GitHub Actions workworkwork groups), mà chỉ cần một vài biến (tiểu tượng, cổng, chỉ tiêu tài nguyên) để truy cập. Tránh phân mảnh bởi mỗi nhóm.
  • Triển khai Gitops: Một tuyên bố của tất cả tài nguyên của Kibernetes (Sự quản lý, Dịch vụ, Inader, cấu hìnhMap) được lưu trữ trong Git Repository, nơi mà các giao thức repository liên tục theo dõi trong Git và đồng bộ hóa chúng tự động để cụm. Bất kỳ thay đổi bằng tay nào của một cụm được cuộn lại bởi người điều khiển GitOps để đảm bảo rằng "Gitpository = Group Real."
  • Phát hành chim yến: Chuyển phát nhanh qua Argo Rollouts - phiên bản mới của Pod đã triển khai 5%, theo dõi lỗi và chậm 5 phút, và mở rộng bình thường của chỉ số đến 25% và 100%. Chỉ thị ở bất kỳ giai đoạn nào tự động gây ra cuộn phim.

Phạm vi của khả năng hệ thống

Khóa, mã số đã được đóng.

  • Kế hoạch rối loạn hạt KubernetesThiết kế cấu trúc chùm đa lịch (đã phát triển/ thử nghiệm/ sản xuất trước)
  • Quản lý gương PorterDưới đây là một số ví dụ về những diễn biến gần đây trong khu vực phản chiếu: xây dựng nhà kho riêng ở cảng, quét gương (thành phố), dùng gương mỏng, dùng gương (hình ảnh xây dựng sân khấu, gương hỗn loạn).
  • Kéo giãn dễ dàng: HPA (phụ thuộc vào CPU/ BR Pod nằm ngang) + tổ hợp tự động (vô số) + KEEA (phụ thuộc vào sự kiện đã được điều chỉnh bởi các chỉ thị tuỳ thích như độ sâu của hàng đợi thông điệp).

Quản lý và liên lạc dịch vụ

  • Cổng API: Điều hòa đường, giới hạn dòng chảy, xác thực, bản ghi, xử lý xuyên qua. Hỗ trợ phần mở rộng bổ sung để tùy chỉnh logic.
  • Đăng ký và khám phá các dịch vụ: Khám phá dịch vụ dựa trên DNS + Service, quản lý siêu dữ liệu bên ngoài kết hợp với Chấp chính/Nacos.
  • Cấu hình Trung tâmNacos/Apollo chủ yếu quản lý cấu hình môi trường, thay đổi cấu hình được gửi trong thời gian thực, hỗ trợ sự phân phối và quay ngược lại mức xám.

• Hệ thống quan sát

  • Bản ghi: Fluentd/File _tập hợp __BAR_Cubeka đệm _BAR_Sô- tô- vi- a- ô- me- na- a. Bản ghi được gắn bởi Trace-ID.
  • Chỉ thịPrometheus + Grafana, bao gồm chỉ thị cơ sở hạ tầng (node/contaner/Pod) và chỉ thị ứng dụng (QPS/ delayed/wrong/pecation signs).
  • Theo dõi liên kết: OpenTelemetry + Jaeger, hiển thị chuỗi cuộc gọi đầy đủ và thời gian cho mỗi lần nhảy giữa các dịch vụ yêu cầu.
  • Gọi cảnh sát đi.: Báo động cấp cao (semerecation/warning/ noification), được gửi qua Enterprise Micro-Credits/Pertification/Flying Book, với ảnh chụp màn hình Grafana.

Giao hàng CI/CD

  • Mã hóa kho phần mềm (chính sách bàn phím, COEEMWERS, Bộ nhập mẫu yêu cầu)
  • Tự động hóa, thử nghiệm đơn vị, quét mã (SearQube), gương tạo ra sự phân phối
  • Gia sư triển khai Gitoop (ArgoCD)+Cyancant/Blue sa thải Green ratey

Cấu trúc dữ liệu phân phối

  • Chính sách chia co sở dữ liệu: Chia theo chiều dọc bởi trường + Chia theo thời gian/ID (SharingSphere). Đọc và viết riêng (thư viện còn lại, đọc từ thư viện).
  • Dịch vụ phân phốiĐây là một số nhỏ các bản tin địa phương dựa trên thông tin nhận được và bản tin địa phương.
  • Cấu trúc bộ nhớ tạm: Redis Cluster đa cấp Cache (local Cafsee + phân phối + co sở dữ liệu), Cache bên cạnh / nhà văn đằng sau.

Name

Pha Giao hàng Thành phần chính
Kiến trúc Tài liệu thiết kế cấu trúc Chương trình phân chia dịch vụ, định nghĩa ranh giới khu vực, gọn giao diện (API), chiến lược phân chia dữ liệu và cấu trúc cơ sở hạ tầng
Cơ cấu K8s tổ hợp + Trung bình Trình sản xuất cấp Kubernetes Cluster Contringion (bao gồm mạng/storage/ Security), API cổng ra, mạng dịch vụ, trung tâm cấu hình, trung tâm đăng ký, vv.
Khả năng quan sát Hệ thống giám sát và cảnh sát Tiến trình theo dõi kết nối của ban giám sát của Prometheus + Grafana, hỗ trợ bản ghi ELK, kết nối Jaeger, cấu hình quy tắc báo động và thông báo phân cấp
CI/CD Dòng nước + GitOps Cấu hình dòng chảy kiểu CN/CD đã chuẩn hoá, mã hoá _ chim yến, cơ chế cuộn ngược tự động
Chuyển Chương trình di chuyển và chuyển giao Chương trình di trú, thông tin di trú, hướng dẫn vận chuyển, đào tạo đội và hệ thống an ninh trực tuyến 7x24

Hướng giá trị đã chọn

  • Hiệu suất đáng kể đạt được khi giao hàngDịch vụ này được xây dựng độc lập, kiểm tra và triển khai, và chu trình thả dịch vụ đơn lẻ được giảm từ mức "hàng tuần" xuống mức "hàng giờ".
  • Sự cô lập và sự đàn hồi: Việc rò rỉ bộ nhớ của dịch vụ không làm hệ thống sụp đổ. Sự mở rộng tự động (HPA/KEEE) bảo đảm rằng có đủ nguồn tài nguyên dưới mức cao nhất để giảm chi phí phục hồi tài nguyên tự động tại thung lũng thấp.
  • Tự do kho chứa công nghệ: Các dịch vụ khác nhau có thể chọn những ngăn công nghệ tốt nhất từ hiện trường, và giới thiệu các công nghệ mới sẽ không cần thiết phải hoàn chỉnh tái thiết.
  • Tin tức quan sát đượcMột tài liệu trên cho biết chính phủ đã có thể “cho thấy vấn đề về ngôn ngữ ngôn ngữ và ngôn ngữ của người dùng, từ“ không có vấn đề gì về ngôn ngữ và ngôn ngữ của người dùng, cho đến khi người dùng than phiền về vấn đề này, “không có dấu hiệu bất thường nào của người dùng cả ”.

_ Biết thêm:

  • Thiết kế phần mềm hình thể - Thiết kế và phát triển tùy thích cho các tiến trình kinh doanh độc đáo
  • Nền tảng kinh doanh kỹ thuật số - xây dựng cơ sở công nghệ hiệu quả và có khả năng làm ăn
  • Giao hàng sản xuất - bảo đảm giao hàng toàn bộ từ đường dây CI/CD đến giao dịch
  • Lời khuyên miễn phí - giao tiếp với các cấu trúc cần thiết với đội ZhiHua Tech
Dịch vụ chuyên nghiệp cho ZhiHua Tech

Cần phân tích thêm trong bối cảnh hiện tại của tập đoàn không?

Chúng tôi cung cấp cho IT lời khuyên kỹ thuật, xây dựng thông tin kinh doanh, dự án phần mềm Out look, FDD business AI ứng dụng và thiết kế phần mềm và dịch vụ phát hành.

Cố vấn liên lạc
Name

Giấy này được dùng cho mục đích kỹ thuật và dự án; các dữ liệu, quan điểm và ngoại cảnh được trình bày trên trang web và có thể được kiểm tra trong phạm vi và không cấu thành một sự cam kết với kết quả của một dự án cụ thể.Đang kiểm tra độ giải phóng nội dung, nguồn thông tin và chính sách sửa chữa