Table of Contents
Hiểu gương mẫu độc thân
Mô hình đơn lẻ là mô hình thiết kế tạo ra mà hạn chế một lớp học trong khi cung cấp một điểm toàn cầu để truy cập nó. Hình thức đầu tiên được cấu hình trong cuốn sách "Gang of Four", nó đã trở thành nền tảng để quản lý tài nguyên chia sẻ trong hệ thống phần mềm. Mô hình đặc biệt thích hợp với việc quản lý cấu hình vì dữ liệu cấu hình vốn là toàn cầu và nên phù hợp với mọi phần của ứng dụng. Bằng cách áp dụng, mô hình đơn ngăn cản sự tạo nhiều đối tượng cấu hình có khả năng đồng bộ và dẫn tới hành vi không thể đoán trước.
Các đặc tính chính của máy tính Singleton bao gồm một máy xây dựng riêng, một phương pháp tĩnh để lấy lại ví dụ, và xử lý cẩn thận tính đồng bộ. Trong môi trường đơn đọc, một công việc đầu đơn giản, phân phối và đọc đa ngôn ngữ có thể được yêu cầu các cơ chế mạnh hơn như khóa hai lần, các bộ phát âm tĩnh, hoặc sử dụng các cấu trúc đặc trưng như của Java [FL: 0] hoặc c [FL1]. Các mẫu đơn giản có thể bị lừa dối; việc thực hiện điều kiện ứng dụng có thể giới thiệu các điều kiện hoặc chai cổ, đặc biệt khi các nhà nước duy nhất giữ nguyên (FL: 0) hoặc IT: 0] hoặc IL: 0].
Vai trò của việc quản lý cấu hình trong hệ thống phân phối
Hệ thống kỹ thuật phân phối- dù cấu hình vi dịch vụ, mạng IoT, hay hệ thống điều khiển công nghiệp phụ thuộc vào dữ liệu cấu hình chính xác và đồng bộ hoá. Cấu hình bao gồm mọi thứ từ chuỗi kết nối cơ sở dữ liệu và kết thúc ADI để tính năng cờ và tham số hoạt động. Khi mỗi nút hoặc dịch vụ duy trì bản sao cấu hình riêng, sự mâu thuẫn xuất hiện, dẫn đến lỗi cần chẩn đoán. Ví dụ, việc tái tạo có thể sử dụng một phiên bản khác nhau của tập tin cấu hình hơn là việc kéo dài, gây ra dữ liệu hoạt động, gây ra tham nhũng hoặc phục vụ làm thoái hóa.
Name
Môi trường phân phối đưa ra những thách thức đặc biệt: cấu hình sự trôi dạt, phân chia mạng, và nhu cầu cập nhật năng động không mất thời gian. Cấu hình dựa trên tập tin truyền thống trở nên không thể quản lý được khi hàng chục hay hàng trăm dịch vụ cần tải lại cùng lúc. Hơn nữa, những mối quan tâm an ninh như phơi bày những bí mật trong tập tin cấu hình cần thiết để tập tin cấu hình cần thiết đặt trung, mã hóa. Các mẫu đơn giản nhất định này bằng cách cung cấp một nguồn thông tin lẽ thật duy nhất, có thẩm quyền cho dữ liệu cấu hình. Tuy nhiên, mẫu cần phải được thích nghi với các tiến trình và các ranh giới mạng, mà dẫn chúng ta đến khái niệm phân phối riêng một người.
Áp dụng mẫu đơn cho bộ quản lý cấu hình
Thao tác này cho một đơn vị quản lý cấu hình thường bao gồm một lớp nạp cấu hình từ một nguồn bền vững (như là một tập tin, cơ sở dữ liệu, hoặc dịch vụ bên ngoài) và bộ nhớ tạm nó trong bộ nhớ. Tất cả các mô- đun và dịch vụ trong cùng một tiến trình gọi là một phương pháp , bảo đảm chúng đều tham khảo dữ liệu giống nhau. Tính năng trung tâm mô phỏng này cập nhật: khi cấu hình thay đổi, chỉ cần được làm mới, và tất cả người tiêu dùng sẽ tự động nhận giá trị mới nếu một sự kiện hoặc cơ chế thăm dò.
Trong ngôn ngữ theo hướng đối tượng, việc thực hiện thường trông như thế này:
- Nhà xây dựng để ngăn chặn sự hoạt động trực tiếp.
- [FLT:] [FLT:] [FLT: 2] không hoạt động với khóa kép (trong Java).
- thuộc tính tĩnh Pblic) mà trả lại một thể hiện duy nhất.
- LtadConfigiation ) phương pháp được gọi trong lần truy cập đầu tiên.
An toàn trong gia đình đơn độc
Sự an toàn bộ mạch chủ yếu vì nhiều mạch hoặc một tác vụ định kỳ có thể truy cập cấu hình cùng một lúc. Mô hình an toàn chỉ đơn giản nhất là sử dụng bộ khởi động tĩnh, mà CLR (CLRCCCCCE) hoặc JVM bảo đảm chạy chỉ một lần. Để khởi tạo lười biếng với việc giảm khóa trên đầu, lớp trong .NEP cung cấp một bộ cuộn dây được xây dựng sẵn. Trong khi thay đổi cấu hình đơn giản, cần thiết. Bất chấp bất cứ trường hợp nào trong trường hợp nguyên sơ, cần phải đồng bộ hoá với trạng thái nguyên sơ [FT].
Các sự suy xét cấp cao: Các cửa hàng phân phối và ngoài
Một mô hình nội bộ xử lý Singleton hoạt động hoàn hảo trong một ứng dụng, nhưng hệ thống phân phối thường đòi hỏi nhiều quá trình hay dịch vụ để chia sẻ một cấu hình chung. Trong trường hợp như vậy, mô hình đơn vị có thể được mở rộng đến một tập hợp phân phối định vị định vị mà tọa độ truy cập qua nút. Thường được dùng để đảm bảo chỉ một nút để viết ra các cửa hàng như là etcd, Counter, kết hợp với một bộ nhớ tạm cục cục cục cục bộ. Trong khi các cửa hàng bên ngoài hoạt động như một thao tác một thao tác nhất định xử lý. Các thuật toán bầu cử đôi khi được dùng để đảm bảo chỉ có một nút được dùng để đảm bảo chỉ một nút cho các cửa hàng tại một cửa hàng, ngăn chặn xung đột.
Quản lý cấu hình có tính năng đám mây
Các nền tảng tạo mây hiện đại như Kibernetes đã chấp nhận quản lý bên ngoài cấu hìnhMaps và Bí mật. Tuy nhiên, các đơn giản hoá ứng dụng vẫn đóng vai trò bằng cách kẹp những giá trị này và cung cấp một giao diện loại, có hiệu lực. Lấy thí dụ, một dịch vụ vi mô có thể sử dụng [FLT: 0] mẫu [FLT: 0] [FL: 1] [FL: 1] với cấu hình đơn giản hóa, được định nghĩa thường xuyên qua [FL6]. Tính năng này kết hợp các lợi ích của việc quản lý với các mẫu đơn giản hóa.
Liên kết ngoài các nguồn đáng tin cậy có thể làm tăng thêm sự hiểu biết: bài [FLT: 0] [FLT: 0] Bài thảo luận [FLT:] về mẫu đơn [FLT: 1] [FLT: 1] cung cấp một tổng quát vững chắc, trong khi ) thảo luận [FLT:] về máy phục vụ cấu hình [FLT:] [FLT:] cho thấy cách sử dụng mô hình.
Những ví dụ và thực hành tốt nhất trên thế giới
Nhiều hệ thống kỹ thuật dựa trên trình quản lý cấu hình đơn dựa trên Singleton. Trong một nền tảng cấu hình lớn như vậy, một dịch vụ cấu hình (thường được hỗ trợ bởi một cửa hàng giá trị phát hành) được dùng để điều khiển cờ tính năng và tham số thử nghiệm A/ B. Mô hình đơn được áp dụng trong thư viện ứng dụng này và cất giữ nó trong bộ nhớ. Khi một thiết lập mới được triển khai, thư viện sẽ làm tươi bộ nhớ lại bộ nhớ tạm từ dịch vụ trung tâm, bảo đảm mọi máy phục vụ nhận được cập nhật trong vòng vài giây. Cách tiếp cận này cũng được dùng trong thiết bị thiết bị thiết bị thiết bị thiết bị chung như Terraform và As, nơi mà một trạng thái duy nhất được quản lý để ngăn chặn việc điều khiển.
Thực hành tốt nhất cho Bộ quản lý cấu hình đơn giản
- Cấu hình Validate háo hức khi bắt đầu để bắt lỗi sớm; một lỗi bị trì hoãn có thể là thảm họa.
- [FLT: 0] Nạp lại năng động [FLT: 1] mà không cần khởi động lại; sử dụng thông báo có chủ động sự kiện từ cửa hàng bên ngoài.
- và tiêm chúng vào một hộp riêng lẻ thông qua biến môi trường hoặc gắn kết an toàn.
- Cấu hình đồ họa thay đổi cho khả năng kiểm tra và gỡ lỗi; bao gồm nhãn thời gian và nguồn của sự thay đổi.
- Đặt đơn vị riêng lẻ ) bằng cách làm cho cửa hàng cấu hình được chế giễu - xem xét bằng cách tiêm phụ thuộc với một mạng sống duy nhất thay vì một lớp học tĩnh.
Những cạm bẫy tiềm tàng và cách tránh chúng
Mẫu Singleton thường bị chỉ trích để giới thiệu trạng thái toàn cầu khó thử nghiệm. Một cấu hình đơn giản đọc từ hệ thống tập tin hay mạng thì vốn khó chế nhạo. Để giảm giá trị này, hãy nhập một mô hình như quan hệ phụ thuộc: xác định giao diện , thực hiện nó với hạng đơn, và đăng ký nó với một hộp tập tin đơn. Kiểm tra có thể tiêm một chất kích thích. Một cú rơi vào nút khác là hiệu suất của việc nạp lại trong khi tải lên. Dùng khoá không có khả năng đọc: nạp vào một vật thể nạp vào một, tạo một đối tượng mới và trao đổi. Xem xét các đối tượng có thể kiểm tra.
Cuối cùng, hãy tránh sự cám dỗ dùng Singleton cho mỗi tài nguyên chia sẻ. Quá trình sử dụng có thể dẫn đến một thiết kế khối đá, nơi các thành phần được kết hợp chặt chẽ. Hãy dự trữ Đơn vị để tìm nguồn tài nguyên thật toàn cầu, đọc- kiểm soát như cấu hình. Đối với trạng thái thay đổi thường xuyên hoặc cần được kiểm duyệt (v. g., per- user hay per-request), những mẫu khác như yếu tố hoặc kiểu dự đoán thích hợp hơn.
Kết luận
Mô hình Singleton vẫn là một công cụ mạnh mẽ để bảo đảm sự quản lý cấu hình ổn định trong hệ thống phân phối. Bằng cách tập trung truy cập vào cấu hình dữ liệu cấu hình, nó loại bỏ sự khác biệt, đơn giản hóa bản cập nhật, và khuyến khích hiệu quả tài nguyên. Tuy nhiên, ứng dụng của nó phải được điều chỉnh với thực tế của môi trường phân phối: an toàn sợi, cơ cấu cấu bên ngoài và khả năng kiểm tra. Khi thực hiện với sự chăm sóc, sử dụng các hình ảnh không thay đổi, tiêm và sự tăng cường phụ thuộc - mô hình đơn giản hóa - Aleton cung cấp một nền tảng mạnh mẽ để duy trì sự toàn bộ cấu hình toàn cầu, đa văn phòng. và kiến trúc nên tích hợp nó thành thiết kế của họ trong khi thiết kế và phụ thuộc vào các công cụ hiện đại, cũng như thiết kế, cả hai công cụ, và liên kết hợp với nhau, hoặc toàn cầu và cũng có thể thiết lập.