ONLINE
REPOSITORY
FOR
WINDEV
,
WEBDEV
AND
WINDEV MOBILE
Home
Profile
Sign out
Sign in
English
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
MORE
Illustrations, screen shots
User reviews
Write a review
Report abuse
(To evaluate this resource, click 'Write a review')
You must
be connected
to post a review
No review or comment? Be the first one!
Boller
September 24, 2025
?? 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
September 24, 2025
Ó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:
0
0
No rating
DOWNLOADS:
36
PUBLISHED:
September 24, 2025
VERSION:
30
CONCERNS:
WINDEV, WEBDEV, WINDEV Mobile
Minimum version: 30
SIZE:
193.3 KB
Download
OF SAME DEVELOPER
Porta Serial - Leitura e escrita em Porta Serial COM ou Paralela usando Maquina de Estado com Thread intermitente
(1)
Startsys - Utilitario para liveupdate de aplicações WINDEV versao 27
(1)
LIB MYMSQL FREE - libmySQL.DLL - Biblioteca LIB do mySQL
(1)
Instalador do Driver Nativo do PostgreSQL no WINDEV e WEBDEV da Biblioteca LIBPQ.DLL - Biblioteca LIB do PostgreSQL para usar em
(7)
See more...
Français
English
https://www.windev.com