Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

2 Commits

Repository files navigation

🔍 NameNotebook

English | 中文版

NameNotebook

A notebook that explains how to name a project or variable effectively.

分布式调度、编排领域

分布式系统、编排系统、任务调度系统等复杂系统设计中,命名不仅是代码可读性的关键,也是系统架构表达的重要组成部分。以下是一份专业、系统化、可落地的命名规范建议,涵盖分布式协调、任务编排、资源调度、状态管理、节点通信、弹性伸缩等核心领域。


🧩 一、命名原则(适用于分布式、编排、调度领域)

原则说明
语义清晰名称应准确表达其功能或职责,避免模糊词汇(如 Manager, Handler 单独使用时意义不明确)。
统一风格同一模块或系统中使用一致的命名风格(如 Controller, Coordinator, Scheduler 等)。
结构化命名推荐使用 {资源}{操作}{角色} 的结构化方式,如 JobScheduler, NodeReconciler
领域术语优先使用行业通用术语,如 Orchestrator, Scheduler, Reconciler, Controller, Agent 等。
区分同步与异步SyncWorker vs AsyncWorker, SyncTask vs BackgroundTask
区分状态与行为NodeState vs NodeStateManager, JobStatus vs JobScheduler

📌 二、核心组件命名建议(按功能分类)

1. 分布式协调(Distributed Coordination)

单词适用场景示例
Coordinator分布式协调器TaskCoordinator, ClusterCoordinator
LeaderElector领导选举机制ETCDLeaderElector, RaftLeaderElector
LockManager分布式锁管理DistributedLockManager, ZooKeeperLockManager
MembershipManager节点成员管理ClusterMembershipManager
DiscoveryService节点/服务发现ServiceDiscovery, NodeDiscovery
Consensus共识算法RaftConsensus, PaxosConsensus
Barrier分布式屏障同步DistributedBarrier, TaskBarrier
Registry资源注册中心ServiceRegistry, NodeRegistry

2. 编排系统(Orchestration)

单词适用场景示例
Orchestrator核心编排器DeploymentOrchestrator, WorkflowOrchestrator
Reconciler状态调和器(Kubernetes 风格)PodReconciler, StatefulSetReconciler
Controller控制器ReplicaSetController, DeploymentController
Planner执行计划制定ExecutionPlanner, ResourcePlanner
Dispatcher任务分发器TaskDispatcher, ActionDispatcher
Executor任务执行器RemoteExecutor, ContainerExecutor
Agent节点代理NodeAgent, WorkerAgent
Worker工作节点TaskWorker, ExecutionWorker

3. 调度系统(Scheduling)

单词适用场景示例
Scheduler通用调度器JobScheduler, TaskScheduler
Dispatcher调度任务分发ScheduleDispatcher
PreemptionManager优先级抢占管理JobPreemptionManager
QueueManager调度队列管理PriorityQueueManager
SchedulerPolicy调度策略RoundRobinPolicy, LeastUsedPolicy
NodeSelector节点选择器NodeSelector, AffinitySelector
ResourceAllocator资源分配器CPUAllocator, GPUAllocator
SchedulerExtender调度器扩展CustomSchedulerExtender

4. 资源管理(Resource Management)

单词适用场景示例
ResourceManager资源管理ClusterResourceManager, NodeResourceManager
ResourceMonitor资源监控MemoryMonitor, CPUUsageMonitor
CapacityManager容量管理NodeCapacityManager
QuotaManager配额管理TenantQuotaManager, ResourceQuotaManager
Allocator资源分配IPAllocator, PortAllocator
Provisioner资源供给VolumeProvisioner, NodeProvisioner
Scaler弹性伸缩AutoScaler, ReplicaScaler

5. 任务与工作流(Task & Workflow)

单词适用场景示例
Job任务单元BatchJob, CronJob
Task子任务MapTask, ReduceTask
Workflow工作流DAGWorkflow, SequentialWorkflow
Stage工作流阶段ExecutionStage, ProcessingStage
Step工作流步骤SetupStep, ExecutionStep
Action可执行操作StartAction, StopAction
Plan执行计划DeploymentPlan, ExecutionPlan
Pipeline流水线CI/CD Pipeline, DataPipeline

6. 状态与生命周期管理(State & Lifecycle)

单词适用场景示例
StateManager状态管理JobStateManager, TaskStateManager
LifecycleManager生命周期管理ContainerLifecycleManager
StatusReporter状态上报NodeStatusReporter, PodStatusReporter
HealthChecker健康检查ServiceHealthChecker, NodeHealthChecker
ReadinessProbe就绪探针HTTPReadinessProbe, ScriptReadinessProbe
LivenessProbe存活探针TCPLivenessProbe
Starter启动器PodStarter, ServiceStarter
Terminator终止器JobTerminator, PodTerminator

🧱 三、命名模板与结构建议

类型命名模板示例
类名{资源}{操作}{角色}JobScheduler, NodeReconciler
接口名I{操作}{资源}(C#)或 {Resource}{Operation}(Go)IScheduler, Scheduler, NodeSelector
函数名{动词}{资源}{方式}ScheduleJobNow, ReconcileNodeState
变量名{资源}{状态}{类型}jobStatus, lastScheduledTime

✅ 四、命名风格推荐(按语言)

语言推荐风格
Go驼峰命名(首字母小写),如 nodeSelector, jobScheduler
Java驼峰命名(首字母小写),如 nodeSelector, jobScheduler
C++驼峰命名或下划线命名,如 NodeSelector, job_scheduler
Python下划线命名,如 node_selector, job_scheduler
Kubernetes推荐使用 CamelCase,如 PodReconciler, StatefulSetController

📚 五、命名参考案例(Kubernetes 风格)

组件命名
控制器ReplicaSetController, DeploymentController
调度器DefaultScheduler, CustomScheduler
调和器PodReconciler, ServiceReconciler
选择器NodeSelector, AffinitySelector
探针LivenessProbe, ReadinessProbe
管理器ResourceManager, VolumeManager
代理Kubelet, NodeAgent
执行器ContainerExecutor, RemoteExecutor

同步

在软件开发中,“同步”是一个广泛存在的概念,涉及并发控制、数据一致性、状态同步、资源协调等多个方面。为了帮助你更系统地命名与“同步”相关的模块、类、函数或变量,以下是一份同步领域命名建议指南,按不同场景和语义进行分类。


🧩 一、同步领域常见语义分类

类型描述示例场景
并发控制控制多个线程/协程/任务的执行顺序互斥锁、信号量、屏障
数据同步保证多个副本、系统、节点之间的数据一致性数据库主从同步、缓存同步
状态同步保持状态的一致性UI 与模型同步、服务状态同步
事件同步控制事件的触发顺序或响应逻辑同步事件处理、等待事件完成
资源同步协调多个组件对共享资源的访问文件同步、共享内存同步
时间同步保证多个节点的时间一致NTP、时间戳同步
任务同步控制任务的执行顺序或依赖关系任务队列、依赖调度

📌 二、同步相关命名词汇(按类别整理)

1. 同步控制类

单词适用场景示例
Sync通用同步操作SyncData, SyncManager
Wait等待同步完成WaitForCompletion, WaitGroup
Lock锁机制MutexLock, ReadLock
Semaphore信号量控制ResourceSemaphore
Barrier屏障同步TaskBarrier
Condition / Cond条件变量ConditionVariable
Synchronizer同步协调器StateSynchronizer
Coordinator协调多个同步操作SyncCoordinator

2. 数据同步类

单词适用场景示例
Replicator数据复制DatabaseReplicator
Syncer数据同步器CacheSyncer, FileSyncer
Updater数据更新StateUpdater, DataUpdater
Refresher数据刷新TokenRefresher, UIRefresher
Merger数据合并DeltaMerger, ConflictMerger
Resolver冲突解决ConflictResolver
Reconciler状态调和(Kubernetes 风格)ResourceReconciler
ConsistencyChecker一致性校验DataConsistencyChecker

3. 状态同步类

单词适用场景示例
StateSynchronizer状态同步UIStateSynchronizer
StateManager状态管理SessionStateManager
SyncState同步状态SyncState, ReplicaSyncState
Watcher状态监听StateWatcher, VariableWatcher
Observer状态观察者ModelStateObserver
Notifier状态变更通知StateChangeNotifier
Tracker状态追踪ProgressTracker, SyncProgressTracker

4. 事件同步类

单词适用场景示例
EventHandler事件处理SyncEventHandler
Dispatcher事件分发SyncEventDispatcher
Listener事件监听SyncEventListener
Notifier事件通知SyncNotifier
Completer事件完成通知TaskCompleter
Trigger触发同步动作SyncTrigger

5. 时间同步类

单词适用场景示例
Clock时间源SystemClock, SyncClock
TimeSynchronizer时间同步NTPSynchronizer
Timestamp时间戳处理TimestampProvider
DriftDetector时钟漂移检测ClockDriftDetector
SyncMonitor时间同步监控TimeSyncMonitor

6. 任务同步类

单词适用场景示例
TaskScheduler任务调度SyncTaskScheduler
DependencyResolver任务依赖TaskDependencyResolver
Worker执行同步任务SyncWorker
Queue同步任务队列SyncTaskQueue
Runner执行器SyncTaskRunner
Controller控制同步流程SyncTaskController

🧱 三、命名建议组合示例

场景示例命名
通用同步SyncManager, Synchronizer, SyncController
数据同步DataSyncer, CacheSyncer, FileSyncer
状态同步StateSynchronizer, UIStateSyncer
并发控制MutexLock, WaitGroup, Semaphore
事件同步SyncEventListener, SyncNotifier
任务同步SyncTaskQueue, SyncWorker, TaskSynchronizer
时间同步TimeSynchronizer, ClockDriftDetector

✅ 四、命名最佳实践建议

建议说明
使用动词+名词结构SyncData, WaitForCompletion
统一前缀/后缀风格如统一使用 SynchronizerSyncerController 等后缀
避免模糊词汇Manager, Handler 单独使用时意义不明确,建议结合上下文
结合领域术语如在分布式系统中使用 ReconcilerReplicator 等术语
区分同步与异步SyncWorker vs AsyncWorkerSyncTask vs BackgroundTask

📚 五、命名参考模板

类型模板示例
类名{资源}{操作}{角色}DataSyncer, StateSynchronizer
函数名{动词}{资源}{方式}SyncDataNow, WaitForSyncComplete
变量名{资源}{状态}{类型}syncInProgress, lastSyncTime
接口名I{操作}{资源}(C#)或 {Resource}{Operation}(Go)ISyncHandler, Syncable

🛠 工具类命名补充(Utility / Tooling)

在软件系统中,工具类通常用于封装通用功能、辅助操作、数据处理、调试支持等。以下是一些常用的英文词汇,适用于命名工具类、辅助模块或函数。

1. 通用工具类命名

单词适用场景示例
Utils / Utilities通用工具函数集合StringUtils, FileUtils
Helper辅助类或函数ConfigHelper, DBHelper
Tool / Toolkit工具集或工具包ImageTool, NetworkToolkit
Handler事件或请求处理RequestHandler, EventHandler
Adapter接口转换或适配LegacyDataAdapter, HTTPAdapter
Wrapper封装第三方接口或系统调用CronWrapper, GRPCWrapper
Manager资源管理SessionManager, CacheManager
Provider资源提供者ConfigProvider, AuthProvider
Factory对象创建工厂ConnectionFactory, LoggerFactory
Builder构造器模式QueryBuilder, ApplicationBuilder
Registry注册中心PluginRegistry, TypeRegistry
Controller控制逻辑协调JobController, FlowController
Dispatcher事件或任务分发EventDispatcher, TaskDispatcher
Loader数据或资源加载ImageLoader, PluginLoader
Resolver解析逻辑DNSResolver, TypeResolver
Validator数据校验InputValidator, SchemaValidator
Converter数据格式转换JSONConverter, UnitConverter
Serializer / Deserializer序列化与反序列化ProtobufSerializer
Monitor监控工具SystemMonitor, HealthMonitor
Recorder数据记录MetricRecorder, EventRecorder

🖥 观测、诊断、嗅探、检查、审查领域

在软件系统运行时状态的观测、透视、审查等场景中,以下英文词汇和隐喻可以作为命名参考,按类别整理:


一、核心概念类

单词适用场景说明
Monitor实时监控最通用术语,如 SystemMonitor
Observer观察者模式用于事件驱动系统(如 EventObserver
Watcher文件/状态变化监控FileWatcherResourceWatcher
Inspector深度检查强调诊断能力(如浏览器开发者工具的 Inspector
Profiler性能分析侧重性能数据采集(如 CPUProfiler
Sniffer网络/数据包嗅探NetworkSniffer
Tracer调用链追踪分布式系统中常见(如 OpenTelemetry Tracer
Analyzer数据分析侧重后处理(如 LogAnalyzer
Auditor安全/合规审查强调审计功能(如 SecurityAuditor
Check状态/健康检查HealthCheck, LivenessCheck
Detect自动识别/检测LanguageDetector, AnomalyDetector
Trace调用链跟踪TraceCollector, TraceExporter
Log日志记录AccessLogger, AuditLogger
Capture数据捕获PacketCapture, ScreenCapture
Dump数据导出HeapDump, ThreadDump
Report报告生成ErrorReporter, UsageReporter
Scan扫描检查PortScanner, CodeScanner
Probe探测系统状态LivenessProbe, ReadinessProbe
Survey综合性评估SystemSurvey, CodeSurvey
Inspect深度查看ObjectInspector, RuntimeInspector
Profile性能画像MemoryProfiler, ExecutionProfiler
Audit安全/合规审查AccessAuditor, PolicyAuditor
Verify校验验证SignatureVerifier, DataVerifier
Validate数据验证InputValidator, SchemaValidator

二、工具/界面类

单词适用场景说明
Dashboard驾驶舱最常用的可视化聚合界面(如 Prometheus Dashboard
Console控制台命令行或集成工具(如 Kubernetes Dashboard
Lens数据透视强调“透过现象看本质”(如 DataLens
Radar实时态势感知用于全局监控(如 InfrastructureRadar
Scope范围分析可表示观测范围(如 NetworkScope
Hub数据中心表示集中式观测节点(如 ObservabilityHub
Vault安全观测强调加密/敏感数据监控(如 SecretVaultMonitor
Portal入口作为观测系统的统一入口(如 SystemPortal
Dashboard可视化展示MonitoringDashboard, MetricsDashboard
Viewer数据展示LogViewer, TraceViewer
Explorer数据浏览APIExplorer, ObjectExplorer
Console控制台DeveloperConsole, DebugConsole
Reporter报告生成TestReporter, AlertReporter
Notifier通知机制EmailNotifier, SlackNotifier
Exporter数据导出PrometheusExporter, JSONExporter
Collector数据采集MetricCollector, TraceCollector
Aggregator数据聚合LogAggregator, MetricAggregator
Presenter数据格式化展示ResultPresenter, UIPresenter

三、隐喻类(抽象表达)

单词适用场景说明
Telescope远程观测强调远距离或宏观视角(如 ClusterTelescope
Microscope微观分析表示深度细粒度分析(如 CodeMicroscope
Mirror实时镜像表示系统状态的实时映射(如 SystemMirror
X-Ray透析诊断强调穿透式分析(如 ServiceXRay
Pulse健康状态表示心跳/健康检查(如 SystemPulse
Net网络拓扑用于网络连接监控(如 ServiceNet
Orbit轨道监测表示周期性或全局覆盖(如 SatelliteOrbitMonitor
Grid网格化观测用于分布式网格系统(如 ServiceGrid

四、数据流相关

单词适用场景说明
Stream实时数据流LogStreamMetricsStream
Pipeline数据处理链表示观测数据的处理流程(如 ObservabilityPipeline
Buffer数据缓存表示临时存储观测数据(如 TraceBuffer
Channel数据通道用于模块间通信监控(如 EventChannel
Bridge数据中继表示不同系统间的观测数据桥接(如 MetricsBridge

五、组合命名示例

词汇组合适用场景说明
LiveView实时视图LiveSystemView
InsightEngine洞察能力强调分析深度(如 PerformanceInsightEngine
WatchTower全局监控隐喻“瞭望塔”(如 CloudWatchTower
SignalHub信号中心表示观测信号的聚合(如 MetricSignalHub
TraceScope追踪范围结合追踪与范围分析(如 DistributedTraceScope

About

A notebook that explains how to name a project or variable effectively.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors