斷路器設計模式

断路器是一个现代软件开发的设计模式。用以侦测错误，并避免不断地触发相同的错误（如维护时服务不可用、暂时性的系统问题或是未知的系统错误）。

常用时机

假设有个应用程序每秒会与数据库沟通数百次，此时数据库突然发生了错误，程序员并不会希望在错误时还不断地访问数据库。因此会在等待TCP连线逾时之前直接处理这个错误，并进入正常的结束程序（而非直接结束程式）。简单来说，断路器会侦测错误并且“预防”应用程序不断地呼叫一个近乎毫无回应的服务（除非该服务已经安全到可重试连线了）。

效能考量

当安全是个益处，效能也就成为了实作断路器的一个负面考量。因为需要不断地检查一个服务是否安全，且服务不仅会有一个，甚至会以多个方向扩展。

PHP

下面是一个以PHP 来实作的范例。这个范例是将一个MySQL 服务器的可用状态处存进共享内存快取（APC）中并在之后以此判断是否可用。

检查

下列脚本能以工作排程来不断地在某时刻执行检查。
$db = mysql_connect('localhost','user','pass');if ($db === false) {
    apc_store('dbUp', '已斷線');} else {
    apc_store('dbUp', '可連線');
    @mysql_close($db);}

在应用程序中使用

if (apc_fetch('dbUp') === '已斷線') {
    echo "資料庫目前不可用。請在數分鐘後嘗試。";
    exit;}$db  = mysql_connect('localhost', 'user', 'pass');$res = mysql_db_query('database', 'SELECT * FROM table');