PC SOFT
ONLINE  REPOSITORY
FOR  WINDEVWEBDEV AND  WINDEV MOBILE

WX Rabbit MQ for WX (WINDEV, WEBDEV e WindevMobile) menssageria
Published by Boller
in the category Tools
New features



Description
WX Rabbit MQ
for WX (WINDEV, WEBDEV e WindevMobile)
menssageria similar ao RabbitMQ
User reviews
(To evaluate this resource, click 'Write a review')
You must
to post a review
Boller
?? Finalidade do Kit WX MQBroker v2
1. Mensageria nativa em WX
• Criar um substituto simplificado ao RabbitMQ/Kafka, mas 100% escrito em WLanguage (WinDev, WebDev, WinDev Mobile).
• Garantir que empresas que usam a plataforma PCSOFT não precisem depender de stacks externas.
2. Confiabilidade + Performance
• Redis garante baixa latência e alta taxa de mensagens.
• PostgreSQL dá persistência, auditoria e replay.
• Foco em altas cargas de ERP, IoT e sistemas corporativos.
3. Observabilidade e Gestão
• Painel WebDev para administração de filas, usuários, DLQs e métricas.
• Prometheus + Grafana para monitorar a saúde do broker e antecipar falhas.
4. Portabilidade e Escalabilidade
• Funciona tanto em ambientes locais (Windows Server) quanto em clusters Docker/Linux.
• Possibilidade de horizontalizar com múltiplas instâncias do serviço WinDev.

?

? Conclusão

O WX MQBroker v2 – Pacote Completo entrega uma solução robusta de mensageria que:
• Elimina dependência de RabbitMQ/Kafka em projetos WX.
• Integra de ponta a ponta: WinDev ? WebDev ? Mobile.
• Atende demandas críticas de grandes volumes de mensagens (milhares/segundo).
• Facilita monitoramento com métricas prontas e alertas configurados.
• Abre caminho para futuro com extensões como prioridade de mensagens, REST/WebSocket, criptografia ponta a ponta e delayed queues.

Em resumo: esse kit é uma plataforma estratégica de mensageria em WLanguage, pronta para ser usada como produto interno ou até como base para um SaaS de mensageria distribuída sob a marca WX Soluções. ??

?
?? Whitepaper Executivo

WX MQBroker v2 – Mensageria Nativa em WLanguage

?

?? Propósito

O WX MQBroker v2 é uma plataforma de mensageria corporativa desenvolvida 100% em WLanguage (WinDev, WebDev e WinDev Mobile), criada para eliminar a dependência de soluções externas como RabbitMQ e Kafka, trazendo para dentro do ecossistema WX uma solução escalável, segura e monitorável.

?

?? Benefícios de Negócio
• Redução de custos ? elimina licenciamento ou manutenção de softwares externos.
• Agilidade ? integração imediata com qualquer projeto WX (ERP, CRM, Mobile, IoT).
• Escalabilidade ? suporta milhares de mensagens/segundo com Redis + PostgreSQL.
• Confiabilidade ? persistência, DLQs (Dead Letter Queues) e auditoria completa.
• Observabilidade ? Prometheus + Grafana já integrados, com dashboards e alertas prontos.
• Controle Total ? desenvolvido sob medida, com código-fonte 100% WLanguage.

?

?? Diferenciais Técnicos
• Redis ? filas em memória, baixa latência.
• PostgreSQL ? persistência histórica e auditoria.
• Painel WebDev ? administração de filas, exchanges, usuários e DLQs.
• SDK WX ? publicação e consumo de mensagens em qualquer app WX.
• Métricas ? monitoramento nativo via Prometheus/Grafana.
• Extensões futuras ? prioridades de mensagens, REST/WebSocket, criptografia ponta a ponta.

?

?? Conclusão

O WX MQBroker v2 transforma o ecossistema WX em uma plataforma de mensageria de alto desempenho, permitindo que empresas:
• Tenham independência tecnológica.
• Ganhem velocidade na integração de sistemas legados e modernos.
• Estejam preparadas para grandes volumes de dados e eventos.

?? Ideal para projetos corporativos, IoT, ERPs e soluções SaaS, sob a marca WX Soluções.
Boller
Ótimo ??
Vou expandir agora os Capítulos 6 (Monitoramento e Observabilidade) e 7 (Benchmarks e Testes) do manual em Markdown técnico.

?

?? Manual de Uso – WX MQBroker v2 (Pacote Completo)

(continuação – Capítulos 6 e 7)

?

6. Monitoramento e Observabilidade

6.1 Métricas Prometheus

O serviço expõe métricas nativamente no endpoint HTTP:

http://<host>:9798/

Métricas principais:
• mq_ingress_total ? total de mensagens publicadas.
• mq_egress_total ? total de mensagens entregues.
• mq_dlq_total ? total de mensagens enviadas para DLQ.
• mq_queue_ingress_total{queue="x"} ? mensagens recebidas por fila.
• mq_queue_egress_total{queue="x"} ? mensagens entregues por fila.
• mq_delivery_latency_ms_bucket ? histograma de latência de entrega (ms).

?

6.2 Dashboard Grafana

O kit inclui grafana_dashboard_mqbroker.json.

Passo a passo:
1. Acesse Grafana ? Dashboards > Import.
2. Faça upload do arquivo JSON.
3. Selecione a fonte de dados Prometheus.
4. O dashboard exibe:
• Ingress/Egress total.
• DLQs.
• Ingress/Egress por fila.
• Latência P95.
• Heatmap de distribuição de latências.

?

6.3 Alertas Prometheus

O kit traz prometheus_alerts_mqbroker.yml com regras prontas:
• MQBrokerDown (critical) ? quando o serviço ou exportador não responde.
• ZeroEgressWhileIngress (critical) ? quando há entrada de mensagens mas nada está sendo entregue.
• HighDLQRate (warning) ? taxa de DLQ > 1 msg/s em 5 minutos.
• HighP95Latency (warning) ? latência P95 > 500 ms.

?

6.4 Exemplos de Alertas
• Se Redis cair, o alerta “ZeroEgressWhileIngress” dispara.
• Se nenhum consumidor ativo, backlog cresce e métricas mostram filas paradas.
• Se mensagens defeituosas caírem direto na DLQ, o alerta “HighDLQRate” avisa.

?

7. Benchmarks e Testes

7.1 Scripts de Carga

Na pasta load_test/ existem dois scripts:
• LT_Producer.wl ? gera mensagens em alta taxa.
• LT_Consumer.wl ? consome mensagens em paralelo.

Eles simulam cenários de stress com diferentes volumes.

?

7.2 Benchmark Runner

Na pasta benchmarks/ está o BenchRunner.wl:
• Executa teste end-to-end.
• Mede throughput (msg/s).
• Mede latência média e P95.
• Exporta resultados em CSV.

Exemplo de saída CSV:

timestamp, queue, published, consumed, latency_avg_ms, latency_p95_ms
2025-09-24 10:00, fila_pedidos, 10000, 9800, 45, 120


?

7.3 Interpretação dos Resultados
• Throughput alto + latência baixa = sistema saudável.
• DLQ crescente = problemas em consumidores.
• Latência P95 alta = gargalo em Redis ou PostgreSQL.
• Gap entre published e consumed = falta de consumidores ou fila presa.

?

7.4 Boas Práticas de Stress Test
• Rode produtores e consumidores em máquinas diferentes.
• Teste cenários com fila única e múltiplas filas.
• Varie o batch size (BrokerConsumeBatch) para otimizar latência.
• Use Grafana para cruzar métricas ? ex: alto backlog + alta latência = Redis sobrecarregado.

?

?? Agora temos os Capítulos 1–7 completos.
Quer que eu siga expandindo os Capítulos 8 (Boas Práticas e Estratégias) e 9 (Troubleshooting), ou prefere que eu pare aqui e monte antes alguns diagramas de arquitetura/fluxo para enriquecer o manual?

Perfeito, Adriano ??
Agora vou expandir os Capítulos 8 (Boas Práticas e Estratégias) e 9 (Troubleshooting) do manual em Markdown técnico.

?

?? Manual de Uso – WX MQBroker v2 (Pacote Completo)

(continuação – Capítulos 8 e 9)

?

8. Boas Práticas e Estratégias

8.1 Design de Filas
• Crie filas específicas por contexto (ex: fila_pedidos, fila_notificacoes).
• Use DLQs dedicadas para cada fila ? facilita análise de erros.
• Evite filas únicas gigantes ? prefira segmentação.

8.2 Uso Eficiente de Redis e PostgreSQL
• Redis deve ser usado para velocidade (hot path).
• PostgreSQL garante persistência e auditoria.
• Configure particionamento mensal no PostgreSQL ? evita tabelas enormes.

8.3 Particionamento e Retenção
• Defina retention policies de acordo com seu negócio (ex: manter 90 dias).
• Use o script partitioning_and_retention.sql incluído no pacote.
• Não deixe crescer indefinidamente ? impacto em performance e backup.

8.4 Escalabilidade Horizontal
• Rode múltiplas instâncias do serviço WinDev (MQBrokerService.exe).
• Configure load balancing via HAProxy ou Nginx.
• Consumo em paralelo ? vários workers puxando da mesma fila.

8.5 Segurança
• Use tokens por aplicação/usuário.
• Rotacione tokens periodicamente.
• Habilite SSL/TLS entre apps e o broker.
• Criptografe mensagens sensíveis (AES256, por exemplo).

?

9. Troubleshooting

9.1 Redis Offline

Sintomas:
• Falha ao publicar mensagens.
• Painel mostra 0 mensagens processadas.

Solução:
• Verifique se Redis está rodando:

docker ps | grep redis


• Reinicie o container/serviço Redis.

?

9.2 PostgreSQL sem Partições

Sintomas:
• Queries lentas no painel.
• Histórico de mensagens gigante em uma tabela só.

Solução:
• Rodar novamente partitioning_and_retention.sql.
• Configurar cron job para criar partições futuras automaticamente.

?

9.3 Erros no SDK
• Fila inexistente ? usar BrokerAdmin_CreateQueue antes de publicar.
• Token inválido ? verificar cadastro do usuário no painel.
• Timeout de consumo ? ajustar visibility_ms no broker.ini.

?

9.4 Logs do Serviço
• Logs ficam em logs/ dentro da instalação.
• Tipos de log:
• info ? inicialização e eventos normais.
• warn ? atrasos e filas com backlog.
• error ? falhas críticas (Redis/PG offline).

?

9.5 Backup e Restauração
• Redis: use snapshots (RDB) ou append-only (AOF).
• PostgreSQL:
• Backup incremental com pg_dump ou pgbackrest.
• Restore recriando partições antes de importar.

?

?? Agora temos os Capítulos 1–9 completos.
O último seria o Capítulo 10 (Extensões Futuras), para fechar o manual.

Quer que eu já escreva esse capítulo final com visão de roadmap (ex: prioridade de mensagens, REST/WebSocket, criptografia ponta a ponta, delayed queues)?

Boa ??
Vamos fechar o manual completo com o Capítulo 10 (Extensões Futuras).

?

?? Manual de Uso – WX MQBroker v2 (Pacote Completo)

(capítulo final – 10)

?

10. Extensões Futuras

O WX MQBroker v2 já cobre os principais cenários de mensageria corporativa.
No entanto, há um roadmap de evolução planejado para ampliar funcionalidades, sempre mantendo a base em WLanguage + Redis + PostgreSQL.

?

10.1 Prioridade de Mensagens
• Permitir que mensagens sejam publicadas com níveis de prioridade.
• Consumidores receberiam primeiro as mensagens mais prioritárias.
• Implementação: sorted sets no Redis (ZADD com score = prioridade).

?

10.2 Conector REST e WebSocket
• REST API ? para publicar/consumir mensagens via HTTP.
• WebSocket ? para consumo em tempo real (push).
• Abriria o MQBroker para integração com sistemas não WX (Node.js, Python, etc).

?

10.3 Integração com Mensageria Externa
• Gateway para RabbitMQ, Kafka ou MQTT.
• Possibilidade de usar MQBroker como bridge entre sistemas legados e modernos.

?

10.4 Criptografia Ponta a Ponta
• Mensagens seriam criptografadas no cliente e só descriptografadas no consumidor autorizado.
• Garante segurança mesmo se Redis ou PostgreSQL forem comprometidos.
• Algoritmos sugeridos: AES-256-GCM ou ChaCha20-Poly1305.

?

10.5 Scheduler de Mensagens com Atraso (Delayed Queues)
• Permitir publicação com entrega futura (ex: “executar em 10 min”).
• Uso em notificações, lembretes ou reprocessamentos programados.
• Redis já suporta via ZSET com timestamp como score.

?

10.6 Escalabilidade Avançada
• Suporte a sharding de filas (dividir uma fila em múltiplos Redis).
• Cluster PostgreSQL com particionamento automático.
• Balanceamento dinâmico de consumidores.

?

10.7 Ferramentas de Observabilidade
• Mais métricas (p99, backlog time-to-clear).
• Tracing distribuído via OpenTelemetry.
• Integração com Elastic/Kibana para logs centralizados.

?

10.8 Interface Avançada WebDev
• Dashboard interativo com gráficos em tempo real (DevExpress integrado).
• Filtros para pesquisar mensagens específicas no histórico.
• Painel de DLQ com reprocessamento seletivo (por ID ou range de tempo).

?

? Conclusão

Com isso, o manual cobre:
• Cap. 1–3 ? Instalação e setup.
• Cap. 4–5 ? Operação e administração.
• Cap. 6–7 ? Monitoramento e benchmarks.
• Cap. 8–9 ? Estratégias e troubleshooting.
• Cap. 10 ? Roadmap de evolução.

Esse material pode ser exportado para HTML/PDF e usado como guia oficial de produto.
ABOUT
RATING:
00No rating
DOWNLOADS:
36
PUBLISHED:
September 24, 2025
VERSION:
30
CONCERNS:
WINDEV, WEBDEV, WINDEV Mobile
Minimum version: 30
SIZE:
193.3 KB