Set up a working directory:
cd /tmp
rm -rf stream-load-balancer
mkdir stream-load-balancer
cd stream-load-balancer
docker-compose
configuration to create 3-node RabbitMQ cluster with haproxy in front of it:
Set up a working directory:
cd /tmp
rm -rf stream-load-balancer
mkdir stream-load-balancer
cd stream-load-balancer
docker-compose
configuration to create 3-node RabbitMQ cluster with haproxy in front of it:
for (String dc : new String[] {"us", "europe", "asia"}) { | |
CompositeMeterRegistry compositeMeterRegistry = new CompositeMeterRegistry(); | |
MeterRegistry datadogRegistry = new DatadogMeterRegistry(config, Clock.SYSTEM); | |
MeterRegistry jmxRegistry = new JmxMeterRegistry(JmxConfig.DEFAULT, Clock.SYSTEM); | |
Tags tags = Tags.of("host", hostname, "dc", dc); | |
new ClassLoaderMetrics(tags).bindTo(compositeMeterRegistry); | |
new JvmMemoryMetrics(tags).bindTo(compositeMeterRegistry); | |
new JvmGcMetrics(tags).bindTo(compositeMeterRegistry); | |
new ProcessorMetrics(tags).bindTo(compositeMeterRegistry); |
for (String dc : new String[] {"us", "europe", "asia"}) { | |
Tags tags = Tags.of("host", hostname, "dc", dc); | |
MeterRegistry jmxRegistry = new JmxMeterRegistry(JmxConfig.DEFAULT, Clock.SYSTEM); | |
new ClassLoaderMetrics(tags).bindTo(jmxRegistry); | |
new JvmMemoryMetrics(tags).bindTo(jmxRegistry); | |
new JvmGcMetrics(tags).bindTo(jmxRegistry); | |
new ProcessorMetrics(tags).bindTo(jmxRegistry); | |
new JvmThreadMetrics(tags).bindTo(jmxRegistry); | |
ConnectionFactory connectionFactory = new ConnectionFactory(); | |
MicrometerMetricsCollector metricsCollector = new MicrometerMetricsCollector( |
MeterRegistry jmxRegistry = new JmxMeterRegistry(JmxConfig.DEFAULT, Clock.SYSTEM); | |
// JVM and system metrics: | |
new ClassLoaderMetrics().bindTo(jmxRegistry); | |
new JvmMemoryMetrics().bindTo(jmxRegistry); | |
new JvmGcMetrics().bindTo(jmxRegistry); | |
new ProcessorMetrics().bindTo(jmxRegistry); | |
new JvmThreadMetrics().bindTo(jmxRegistry); | |
ConnectionFactory connectionFactory = new ConnectionFactory(); | |
MicrometerMetricsCollector metricsCollector = new MicrometerMetricsCollector( | |
jmxRegistry, "rabbitmq.client" |
MeterRegistry jmxRegistry = new JmxMeterRegistry(JmxConfig.DEFAULT, Clock.SYSTEM); | |
ConnectionFactory connectionFactory = new ConnectionFactory(); | |
MicrometerMetricsCollector metricsCollector = new MicrometerMetricsCollector( | |
jmxRegistry, "rabbitmq.client" | |
); | |
connectionFactory.setMetricsCollector(metricsCollector); | |
Connection connection = connectionFactory.newConnection(); | |
Channel channel = connection.createChannel(); | |
String queue = channel.queueDeclare().getQueue(); |