Resumen
Los niveles de uso de RPC de Solana generalmente se dividen en tres categorías: puntos finales públicos con rendimiento compartido y sin SLA, niveles gestionados compartidos con asignaciones mensuales de solicitudes o unidades de cómputo, y nodos dedicados con capacidad reservada y puntos finales privados. El nivel adecuado depende de la combinación de solicitudes, de si necesita suscripciones WebSocket o datos de archivo, y de cuánta variabilidad de tráfico puede absorber su aplicación antes de que las llamadas comiencen a fallar.
Esta comparación desglosa lo que cada nivel suele incluir, qué cargas de trabajo encajan en cada uno y los criterios de evaluación que importan antes de comprometerse. También muestra cómo probar un nivel con llamadas JSON-RPC reales de Solana para dimensionar la capacidad con evidencia en lugar de páginas de marketing.
Los proveedores de RPC de Solana rara vez publican un precio único. Publican niveles, y esos niveles difieren en aspectos que importan más que el número principal: asignaciones de solicitudes, ponderación de unidades de cómputo, soporte de WebSocket, acceso a archivo y si la capacidad es compartida o reservada. Si está comparando proveedores, la pregunta útil no es "qué nivel es más barato" sino "qué nivel coincide con mi combinación de solicitudes y tolerancia a fallos".
Recomendación rápida: adapte el nivel a la forma de su carga de trabajo
Antes de leer cualquier página de precios, clasifique su carga de trabajo. El tráfico de Solana no es uniforme, y el mismo nivel puede ser cómodo para una aplicación e inutilizable para otra.
| Forma de carga de trabajo | Nivel típico que encaja | Qué verificar antes de comprometerse |
|---|---|---|
| Prototipos, scripts, paneles de bajo volumen | Punto final público o compartido gratuito | Si el punto final tiene límite de velocidad, si admite WebSocket y si está destinado a tráfico de producción |
| Aplicaciones de consumo con tráfico de lectura constante | Nivel gestionado compartido | Asignación mensual de solicitudes o unidades de cómputo, comportamiento en ráfagas y ponderación por método |
| Bots de trading, indexadores, lecturas de alta frecuencia | Nodo dedicado o nivel de capacidad reservada | Rendimiento reservado, punto final privado, estabilidad de WebSocket y disponibilidad de archivo |
| Análisis y consultas históricas | Nivel con acceso a archivo o datos extendidos | Si los slots antiguos y el historial de transacciones se pueden consultar sin indexación adicional |
Si su aplicación puede tolerar llamadas fallidas ocasionales y aún está validando el ajuste producto-mercado, un nivel compartido suele ser suficiente. Si una llamada fallida significa una operación perdida, un indexador estancado o un flujo de usuario roto, reserve capacidad. OnFinality ofrece tanto acceso compartido a la API RPC como nodos dedicados para Solana, para que pueda comenzar compartido y pasar a capacidad reservada sin cambiar su patrón de integración.
Qué mide realmente un "nivel de uso" en Solana
En cadenas EVM, los niveles a menudo se describen en solicitudes por segundo. Solana es diferente porque una sola llamada JSON-RPC puede ser barata o costosa según el método y el tamaño de la respuesta.
getHealthygetSlotson ligeros y a menudo se usan para comprobaciones de actividad.getAccountInfoygetMultipleAccountsescalan con el número de cuentas y el tamaño de los datos devueltos.getProgramAccountspuede ser extremadamente pesado, especialmente con filtros, y muchos proveedores lo ponderan o restringen.getSignaturesForAddressygetTransactionescalan con la profundidad del historial y el tamaño de la respuesta.sendTransactiongeneralmente se pondera por el tamaño de la transacción y el contexto de la tarifa de prioridad.
Debido a esto, los proveedores describen cada vez más los niveles en unidades de cómputo o solicitudes ponderadas en lugar de recuentos brutos de llamadas. Cuando compare niveles, pregunte cómo pondera cada proveedor los métodos que realmente llama. Un nivel que parece generoso a 1,000 solicitudes por segundo puede comportarse de manera muy diferente una vez que getProgramAccounts entra en juego.
Cómo difieren las tres familias de niveles comunes
Puntos finales públicos y compartidos gratuitos
Los puntos finales públicos se entienden mejor como una conveniencia, no como un plan de capacidad. Son útiles para billeteras, tutoriales, scripts rápidos y comprobaciones de estado. Por lo general, comparten capacidad entre todos los llamadores, pueden limitar agresivamente bajo carga y rara vez vienen con algún compromiso sobre disponibilidad. Algunos puntos finales públicos admiten WebSocket; muchos no, o lo admiten con estrictos límites de conexión.
OnFinality publica un punto final público de Solana en https://solana.api.onfinality.io/public con un punto final WebSocket correspondiente en wss://solana.api.onfinality.io/public-ws. Es un punto de partida razonable para desarrollo y pruebas, pero las aplicaciones de producción deben planificar un nivel gestionado o dedicado.
Niveles gestionados compartidos
Los niveles gestionados compartidos le brindan una clave API privada, una asignación documentada y acceso a un grupo de nodos. Comparte la infraestructura subyacente con otros clientes, pero obtiene mejor aislamiento que un punto final público, además de soporte y monitoreo.
Qué verificar en esta familia de niveles:
- Cómo se expresa la asignación (solicitudes, unidades de cómputo o una mezcla).
- Qué sucede cuando la excede: fallo duro, limitación o facturación por exceso.
- Si las suscripciones WebSocket cuentan contra la misma asignación.
- Si los datos de archivo están incluidos o se venden por separado.
- Si puede hacer ráfagas durante picos de tráfico sin aprobación previa.
Nodos dedicados y capacidad reservada
Los nodos dedicados le dan a su carga de trabajo su propio nodo o clúster de nodos. Obtiene un punto final privado, rendimiento predecible y la capacidad de ajustar el nodo para sus patrones de acceso. Este es el nivel al que tienden a graduarse los sistemas de trading, indexadores y aplicaciones de consumo de alto tráfico.
La capacidad dedicada no es automáticamente más rápida para todas las cargas de trabajo. Es más valiosa cuando su tráfico es pesado, en ráfagas o sensible a los efectos de vecinos ruidosos. Si su aplicación realiza unos pocos miles de llamadas por día, un nodo dedicado suele estar sobredimensionado.
Matriz de evaluación de proveedores
La siguiente tabla compara familias de niveles en lugar de nombrar a cada proveedor, porque la misma etiqueta de nivel puede significar cosas diferentes entre proveedores. Use las columnas como preguntas para hacer a cada proveedor que evalúe.
| Familia de nivel | Modelo de capacidad | Soporte de WebSocket | Acceso a archivo | Mejor ajuste | Riesgo principal |
|---|---|---|---|---|---|
| API RPC compartida de OnFinality | Asignación gestionada con clave privada | Sí en redes compatibles | Depende de la red y el plan | Aplicaciones de consumo, billeteras, backends con tráfico de lectura constante | Dimensionamiento de la asignación si el tráfico crece rápidamente |
| Nodo dedicado de OnFinality | Capacidad reservada, punto final privado | Sí | Configurable | Bots de trading, indexadores, backends de alto rendimiento | Sobredimensionamiento para cargas de trabajo pequeñas |
| Puntos finales comunitarios públicos | Compartido, mejor esfuerzo | Inconsistente | Rara vez | Prototipos, tutoriales, comprobaciones de estado | Limitación y disponibilidad impredecible |
| Niveles gestionados compartidos genéricos | Basado en asignación, a menudo por solicitud | Varía | A menudo un complemento de pago | Tráfico general de aplicaciones | La ponderación de métodos puede sorprenderle |
| Nodo autoalojado | Su propio hardware y operaciones | Sí | Sí, si lo almacena | Equipos con fuertes habilidades de infraestructura y carga constante | Carga operativa y ciclos de actualización |
OnFinality aparece primero aquí porque es la opción que este sitio documenta en detalle, no porque otros proveedores sean inadecuados. Compare cada fila con su propia carga de trabajo antes de decidir.
Probar un nivel con llamadas reales de Solana
No dimensione un nivel solo con una página de precios. Ejecute una prueba de carga corta contra su punto final candidato utilizando los métodos que su aplicación realmente llama. Comience con una verificación básica de conectividad y slot:
curl -s https://solana.api.onfinality.io/public \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"getSlot","params":[{"commitment":"confirmed"}]}'
Luego pruebe una lectura más pesada que se asemeje a su patrón de producción, como obtener una cuenta de programa con filtros:
curl -s https://solana.api.onfinality.io/public \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"getProgramAccounts","params":["YourProgramIdHere",{"encoding":"base64","filters":[{"dataSize":165}]}]}'
Para cargas de trabajo WebSocket, verifique que las suscripciones se mantengan estables bajo carga sostenida. Una sonda simple de Node.js se ve así:
import WebSocket from "ws";
const ws = new WebSocket("wss://solana.api.onfinality.io/public-ws");
ws.on("open", () => {
ws.send(JSON.stringify({
jsonrpc: "2.0",
id: 1,
method: "slotSubscribe"
}));
});
ws.on("message", (data) => {
const msg = JSON.parse(data.toString());
if (msg.method === "slotNotification") {
console.log("slot", msg.params.result.slot);
}
});
ws.on("close", () => console.log("socket closed"));
ws.on("error", (err) => console.error("socket error", err.message));
Ejecute estas sondas contra cada nivel candidato durante al menos unas horas, idealmente durante un ciclo completo de tráfico. Realice un seguimiento de las tasas de error, la latencia p95 y cómo se comporta el punto final cuando supera su pico esperado.
Señales de que ha superado su nivel actual
Las actualizaciones de nivel generalmente se desencadenan por síntomas, no por un calendario. Esté atento a estas señales:
- Aumento de respuestas 429 o mensajes de limitación durante horas pico.
- Desconexiones de WebSocket que se correlacionan con picos de tráfico.
- Varianza de latencia que se amplía cuando otros inquilinos están ocupados.
- Llamadas fallidas a
getProgramAccountsogetSignaturesForAddressbajo carga. - Necesidad creciente de datos de archivo que su nivel actual no incluye.
Si dos o más de estas aparecen juntas, el nivel es la restricción, no el código de su aplicación. En ese punto, compare el costo de un nivel compartido superior con un nodo dedicado y decida en función de cuánta variabilidad puede absorber.
Compensaciones de costo y riesgo a considerar
Los niveles más baratos trasladan el riesgo a su aplicación. Eso no es automáticamente malo, pero debe ser una decisión consciente.
- Un punto final público ahorra dinero pero traslada el riesgo de disponibilidad a usted.
- Un nivel gestionado compartido equilibra costo y confiabilidad, pero la ponderación de métodos puede hacer que los costos sean difíciles de predecir.
- Un nodo dedicado cuesta más pero hace que el rendimiento y la latencia sean más predecibles.
- El autoalojamiento puede ser lo más barato con una carga muy alta y muy constante, pero agrega trabajo de actualización, monitoreo y guardia.
Para la mayoría de los equipos, el camino práctico es comenzar en un nivel compartido, instrumentar su tráfico y pasar a capacidad dedicada cuando aparezcan las señales anteriores. La página de precios de RPC de OnFinality describe cómo se estructuran los niveles, y la página de redes compatibles enumera dónde están disponibles Solana y otras cadenas.
Puntos de control de migración al cambiar de nivel
Cambiar de nivel no debería requerir reescribir su aplicación. Tenga en cuenta estos puntos de control:
- Confirme que el nuevo punto final admita los mismos niveles de compromiso y métodos en los que confía.
- Verifique el comportamiento de WebSocket si utiliza suscripciones, incluida la lógica de reconexión.
- Vuelva a ejecutar su prueba de carga contra el nuevo punto final antes de migrar el tráfico de producción.
- Mantenga el punto final antiguo configurado como respaldo hasta que el nuevo haya pasado por un ciclo completo de tráfico.
- Actualice los paneles de monitoreo para poder comparar tasas de error y latencia antes y después.
Si utiliza una billetera o biblioteca cliente, el cambio de punto final suele ser un único valor de configuración. Por ejemplo, en un cliente web3.js de Solana:
import { Connection } from "@solana/web3.js";
const connection = new Connection(
"https://solana.api.onfinality.io/public",
"confirmed"
);
Puntos clave
- Los niveles de uso de RPC de Solana difieren principalmente en el modelo de capacidad, la ponderación de métodos, el soporte de WebSocket y el acceso a archivo, no solo en el precio.
- Los puntos finales públicos son adecuados para desarrollo, pero no son un plan de capacidad para tráfico de producción.
- Los niveles gestionados compartidos se adaptan a cargas de trabajo de lectura constante; los nodos dedicados se adaptan a cargas de trabajo en ráfagas, sensibles a la latencia o de alto volumen.
- Dimensione su nivel con llamadas JSON-RPC reales, incluidos los métodos más pesados que utiliza su aplicación, antes de comprometerse.
- Esté atento a la limitación, las desconexiones de WebSocket y la varianza de latencia como señales de que ha superado su nivel actual.
- OnFinality ofrece acceso compartido a la API RPC y nodos dedicados para Solana, para que pueda moverse entre niveles sin cambiar su patrón de integración.
Preguntas frecuentes
¿Todos los proveedores de RPC de Solana cuentan las solicitudes de la misma manera?
No. Algunos cuentan solicitudes brutas, otros cuentan unidades de cómputo y algunos ponderan métodos pesados como getProgramAccounts más que los ligeros como getSlot. Siempre pregunte cómo se ponderan sus métodos específicos.
¿Un nodo dedicado de Solana es siempre más rápido que un nivel compartido?
No siempre. La capacidad dedicada es más valiosa cuando su tráfico es pesado, en ráfagas o sensible a los efectos de vecinos ruidosos. Para cargas de trabajo ligeras, un nivel compartido puede ser suficiente.
¿Puedo usar un punto final público de RPC de Solana en producción?
Puede hacerlo, pero los puntos finales públicos suelen ser compartidos y de mejor esfuerzo. Las aplicaciones de producción generalmente pasan a un nivel gestionado o dedicado una vez que el tráfico crece o aumentan los requisitos de confiabilidad.
¿Cómo sé cuándo actualizar mi nivel de RPC de Solana?
Busque respuestas de limitación, desconexiones de WebSocket durante el tráfico pico, varianza de latencia en aumento y llamadas pesadas fallidas. Dos o más de estas juntas generalmente indican que el nivel es la restricción.
¿OnFinality admite suscripciones WebSocket para Solana?
Sí. La configuración de Solana de OnFinality incluye tanto un punto final HTTP como un punto final WebSocket. Consulte la página de la red Solana para obtener detalles actuales del punto final.