Deshabilitar un filter hace que sus reglas emparejen menos, no más
Así que el efecto observable de apagar un filter es que sus reglas dejan de emparejar nada en absoluto, y su tráfico aterriza en cualquier regla que siga. Un proveedor diferente, o un precio diferente.Qué es un filter para el gateway
Una expansión en tiempo de carga, no una indirección en runtime. Un filter se expande a exactamente las condiciones que contiene, y esas se añaden a las condiciones de cada regla que lo referencia. La prueba real de una regla es:Los filters viven en la base de datos (
app_filter, app_filter_condition) y se comparten con rating, que
es el objetivo: nombra un predicado una vez, tarifa y enruta con la misma definición. La gramática de archivo no tiene
sintaxis para ellos, así que scripts/fireflo import routing deja app_route_rule_filter vacía. Consulta
routingTable.conf.Una regla con filter no es un catch-all
Un catch-all real es una regla sin condiciones y sin filters, colocada al final.Un filter vacío cuenta como deshabilitado
Un filter sin condiciones guarda y carga, que es lo que permite construir uno una condición a la vez. La respuesta del gateway tampoco es la intuitiva: un filter vacío se añade al conjunto de deshabilitados, así que cada regla que lo referencia se salta. Rechazar un filter vacío es el mismo razonamiento que rechazar uno faltante: un filter que no estrecha nada ampliaría cada regla que lo lleva.La red de seguridad, y por qué no es una vía de escape
Por la misma razón un filter referenciado no puede borrarse mientras las reglas aún apuntan a él. El panel de control muestra el conteo de referencias tanto en reglas de rating como de enrutamiento antes de dejarte cambiar uno. El enrutamiento es la mitad donde la consecuencia es “los mensajes dejan de enviarse” en lugar de “los mensajes se tarifican diferentemente”.Comprobar uno antes de cambiarlo
1
Lee el conteo
Filters en el panel lista cuántas reglas de tarifa y cuántas reglas de enrutamiento referencian cada
filter. Deshabilitar un filter usado por cuatro reglas de enrutamiento elimina cuatro reglas del snapshot en ejecución.
2
Mira qué atrapa el tráfico en su lugar
Para cada regla que se saltaría, encuentra la siguiente regla en la misma tabla que el tráfico
emparejaría. Ese proveedor es a dónde va el tráfico.
3
Confirma que la recarga tomó
Después de guardar, comprueba
routing_warnings en /ops/health y el log para
Error parsing new routing table. Una recarga rechazada mantiene la tabla anterior y parece que
no pasó nada.Los filter workers son algo diferente
Una regla también puede apuntar a un filter worker. Un worker por el que pasa el mensaje en lugar de un destino. Devuelve un veredicto, y el router actúa sobre él:RESCHEDULE nunca se ha implementado y cae a re-enqueue, diciéndolo una vez por mensaje.Un mensaje descartado se reembolsa y se reporta; un mensaje retenido para siempre no. Que es por qué contar
el requeue es el trato intencionado en lugar de un descuido.