Reliable Distributed Messaging with HornetQ

Similar documents
Performance comparisons and trade-offs for various MySQL replication schemes

Auto Management for Apache Kafka and Distributed Stateful System in General

<Insert Picture Here> MySQL Web Reference Architectures Building Massively Scalable Web Infrastructure

Google File System. Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Google fall DIP Heerak lim, Donghun Koo

Distributed Filesystem

CSE 124: Networked Services Lecture-16

CSE 124: Networked Services Fall 2009 Lecture-19

IBM InfoSphere Streams v4.0 Performance Best Practices

The Google File System

Sun Lustre Storage System Simplifying and Accelerating Lustre Deployments

NVMe SSDs with Persistent Memory Regions

The Lion of storage systems

Cloud Programming. Programming Environment Oct 29, 2015 Osamu Tatebe

Extreme Networks Session Director

Intra-cluster Replication for Apache Kafka. Jun Rao

Implementing SQL Server 2016 with Microsoft Storage Spaces Direct on Dell EMC PowerEdge R730xd

NPTEL Course Jan K. Gopinath Indian Institute of Science

Extremely Fast Distributed Storage for Cloud Service Providers

FASTEST MILLION OVER THE WEB WITH KAAZING, DELL, AND TIBCO

Technical White paper Certification of ETERNUS DX in Milestone video surveillance environment

GFS: The Google File System

<Insert Picture Here> Oracle NoSQL Database A Distributed Key-Value Store

The Google File System

Purplefinder Enterprise Platform Messagng with ActiveMQ. Peter Potts 13 th October 2010

The advantages of architecting an open iscsi SAN

Dell PowerEdge R730xd Servers with Samsung SM1715 NVMe Drives Powers the Aerospike Fraud Prevention Benchmark

System Description. System Architecture. System Architecture, page 1 Deployment Environment, page 4

Create High Performance, Massively Scalable Messaging Solutions with Apache ActiveBlaze

The Google File System

! Design constraints. " Component failures are the norm. " Files are huge by traditional standards. ! POSIX-like

The Google File System

Google is Really Different.

Deploy a High-Performance Database Solution: Cisco UCS B420 M4 Blade Server with Fusion iomemory PX600 Using Oracle Database 12c

HornetQ Project. Much more than faster. Andrea Leoncini Senior Solution Architect Red Hat, Inc. 6 th of October 2011

Cloudian Sizing and Architecture Guidelines

AMP in the Enterprise Open Source Confidence. March 2005

Accelerate Applications Using EqualLogic Arrays with directcache

Architecture of a Real-Time Operational DBMS

CA485 Ray Walshe Google File System

Installing and configuring Apache Kafka

This document lists hardware and software requirements for Connected Backup

The vsphere 6.0 Advantages Over Hyper- V

Assessing performance in HP LeftHand SANs

Dell EMC CIFS-ECS Tool

Microsoft Office SharePoint Server 2007

Oracle Database 12c: JMS Sharded Queues

Dell Reference Configuration for Large Oracle Database Deployments on Dell EqualLogic Storage

PREEvision System Requirements. Version 9.0 English

Microsoft SQL Server 2012 Fast Track Reference Configuration Using PowerEdge R720 and EqualLogic PS6110XV Arrays

Goverlan Reach Server Hardware & Operating System Guidelines

BIOS Parameters by Server Model

DataON and Intel Select Hyper-Converged Infrastructure (HCI) Maximizes IOPS Performance for Windows Server Software-Defined Storage

Real World Messaging With Apache ActiveMQ. Bruce Snyder 7 Nov 2008 New Orleans, Louisiana

MARACAS: A Real-Time Multicore VCPU Scheduling Framework

HCI: Hyper-Converged Infrastructure

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective

goals monitoring, fault tolerance, auto-recovery (thousands of low-cost machines) handle appends efficiently (no random writes & sequential reads)

WHITE PAPER: BEST PRACTICES. Sizing and Scalability Recommendations for Symantec Endpoint Protection. Symantec Enterprise Security Solutions Group

Cost-Effective Virtual Petabytes Storage Pools using MARS. FrOSCon 2017 Presentation by Thomas Schöbel-Theuer

The Google File System

WHITE PAPER AGILOFT SCALABILITY AND REDUNDANCY

18-hdfs-gfs.txt Thu Oct 27 10:05: Notes on Parallel File Systems: HDFS & GFS , Fall 2011 Carnegie Mellon University Randal E.

88X + PERFORMANCE GAINS USING IBM DB2 WITH BLU ACCELERATION ON INTEL TECHNOLOGY

System Specification

Storage Adapter Testing Report

RIGHTNOW A C E

Flat Datacenter Storage. Edmund B. Nightingale, Jeremy Elson, et al. 6.S897

HTRC Data API Performance Study

Windows Server 2012 Hands- On Camp. Learn What s Hot and New in Windows Server 2012!

Memory-Based Cloud Architectures

Creating the Fastest Possible Backups Using VMware Consolidated Backup. A Design Blueprint

The Google File System

CSE 124: Networked Services Lecture-17

Many organizations rely on Microsoft Exchange for

EMC Business Continuity for Microsoft Applications

SUSE OpenStack Cloud Production Deployment Architecture. Guide. Solution Guide Cloud Computing.

Dell EMC SAP HANA Appliance Backup and Restore Performance with Dell EMC Data Domain

Veritas NetBackup Deduplication Guide

BIG DATA AND HADOOP ON THE ZFS STORAGE APPLIANCE

VMware Virtual SAN. Technical Walkthrough. Massimiliano Moschini Brand Specialist VCI - vexpert VMware Inc. All rights reserved.

EMC Backup and Recovery for Microsoft Exchange 2007

The Google File System. Alexandru Costan

System Requirements. PREEvision. System requirements and deployment scenarios Version 7.0 English

Crossing the Chasm: Sneaking a parallel file system into Hadoop

Accelerate Database Performance and Reduce Response Times in MongoDB Humongous Environments with the LSI Nytro MegaRAID Flash Accelerator Card

Communication has significant impact on application performance. Interconnection networks therefore have a vital role in cluster systems.

Achieve Optimal Network Throughput on the Cisco UCS S3260 Storage Server

MySQL HA Solutions. Keeping it simple, kinda! By: Chris Schneider MySQL Architect Ning.com

CLOUD-SCALE FILE SYSTEMS

System Requirements. Hardware and Virtual Appliance Requirements

Monitoring Dell EqualLogic

NEC Express5800 A2040b 22TB Data Warehouse Fast Track. Reference Architecture with SW mirrored HGST FlashMAX III

Cisco Wide Area Application Services (WAAS) Mobile

Symantec NetBackup Deduplication Guide

No compromises: distributed transac2ons with consistency, availability, and performance

System Requirements. v7.5. May 10, For the most recent version of this document, visit kcura's Documentation Site.

Yuval Carmel Tel-Aviv University "Advanced Topics in Storage Systems" - Spring 2013

Distributed File Systems II

Virtualized SQL Server Performance and Scaling on Dell EMC XC Series Web-Scale Hyper-converged Appliances Powered by Nutanix Software

DRBD 9. Lars Ellenberg. Linux Storage Replication. LINBIT HA Solutions GmbH Vienna, Austria

Transcription:

Reliable Distributed Messaging with HornetQ Lin Zhao Software Engineer, Groupon lin@groupon.com

Agenda Introduction MessageBus Design Client API Monitoring Comparison with HornetQ Cluster Future Work

Introduction

Groupon Architecture REST Service Oriented Data streamed through messaging

(Part of) Groupon Architecture Merchant Data Relevance SEO Deals MessageBus Users Orders Getaways Accounting Goods

Problem Statement I want to know when something happens in another world I want to listen to existing events without integration effort Subscriber 1 Message Platform Publisher Subscriber 2 New Subscriber

MessageBus

Requirements Performance Scalability Reliability Data Replication

HornetQ JBoss open-source messaging project. Journal based, protocol agnostic. HornetQ Server JMS Client Journal Network STOMP Client Protocol Manager HornetQ Core Page Store

Architecture STOMP Publisher 1 Load Balancer DRBD Backup 2 DRBD Backup 1 HornetQ 1 STOMP Consumer HornetQ 2

Design A publisher publishes to one broker at a time. The publisher reconnects once every 5 minutes (configurable) to be load balanced to a new broker to publish to. A broker list resides on each broker. Referred to as consumer list. This list is a text file that can be modified on the fly. The consumer client reaches a random broker from load balancer, then discovers the rest of the cluster by reading the consumer list on that broker. The consumer fetches the consumer list once every 5 minutes.

Guarantees Messages are delivered at least once. A message may be redelivered under circumstances the server deem needed to ensure at lease once guarantee. Messages are replicated real-time to back up machines. When send_safe is returned, the message has at least reached the memory of the backup machine. Messages may be delivered out of order.

Interactions STOMP Publisher 1 STOMP Publisher 2 Load Balancer DRBD Backup 2 DRBD Backup 1 HornetQ 1 HornetQ1,HornetQ2 STOMP Consumer HornetQ 2 5 Minutes passed

Adding a New Broker 1. 2. 3. 4. Start the standalone broker. Update consumer list on each broker to include the new one. Waits 5 minutes. Updates load balancer to direct publisher traffic to the new broker.

Adding a New Broker STOMP Publisher 1 STOMP Publisher 2 Load Balancer HornetQ 2 STOMP Consumer DRBD Backup 3 DRBD Backup 2 DRBD Backup 1 HornetQ 1 HornetQ 3

Removing a Broker 1. 2. 3. 4. Take the broker from rotation on the load balancer. Wait until all messages on this broker is consumed. Remove the broker from consumer lists of existing brokers. Retire the broker.

Removing a Broker STOMP Publisher 1 STOMP Publisher 2 Load Balancer HornetQ 2 STOMP Consumer DRBD Backup 3 DRBD Backup 2 DRBD Backup 1 HornetQ 1 HornetQ 3

When a Broker is Down Load balancer detects the down time through heartbeat and no longer routes publishes to the bad broker. Consumers continue to consume from good brokers without interruption. The dropped connection is logged. Persisted messages on the bad broker is replicated through DRBD. In the case the down time is permanent, data on the backup hosts can be migrated and used on a new host (manual operation needed).

Data Replication DRBD 8.3 Protocol B. In memory replication Guarantee. HornetQ Server DRBD Backup /dev/sdax /dev/sday../hornetq/ journal Primary HornetQ Core../hornetq/ paging Network Protocol Manager../hornetq/ journal Secondary../hornetq/ paging

Data Replication Mbus Client HornetQ Server send(message) DRBD Backup DRBD sync Local write Local write Receipt

Monitoring HornetQ Core 1 HornetQ Core 2 JMX2 HTML JMX2 HTML Aggregator HornetQ Core 3 JMX2 HTML Monitord Agent Metrics Ganglia Visualized Data Nagios Email/Phone alerts Mornitord Cluster

Monitoring

Client API Publisher start(config) stop() publish(message) publishsafe(message)

Client API Consumer start(config) stop() receive receive_immediate receive(timeout) (Continued)

Client API Consumer ack acksafe nack keepalive

Single Node Alternative What if I really want ordering guarantee? Single broker cluster. Primary DRBD & GFS Master HornetQ Primary Backup HornetQ Cluster Manager (Load Balancer) Publisher Consumer

Single Node Alternative Must auto failover to ensure near-zero down time. The brokers need to be physically close to each other to reduce latency and avoid performance impact. Mbus Client HornetQ Server send(message) DRBD sync Local write Receipt DRBD Backup

Comparison with HornetQ Cluster

HornetQ Cluster HornetQ built-in feature. Supports load balancing, redistribution. Most requests takes 2 hosts to handle. Compromises throughput. Publisher HornetQ 1 HornetQ 2 HornetQ 3

Benchmarks Setup. Two HornetQ servers, each with: CPU: 2 x Intel E5645 (2.4 GHZ, 6 cores, Hyper Threaded, 12MB ache, 5.86GT/s QPI) Memory: 64GB DDR3-1333 Storage: 4 x 1TB SATA, 3Gb/s, 7200 RPM, 64 MB Cache, software RAID 10 NIC: 1Gbps Ethernet Tests: Scenario 1: 50 publishers publish 10,000 messages each Scenario 2: 50 publishers publish 10,000 messages each while 50 consumers are consumer from the same queue.

Benchmarks 3386 2848 1417 1445

MessageBus Or HornetQ Cluster?

Future Work

Future Work RESTFul Servce. Publisher in production Consumer tricky. The REST service needs to buffer messages and dynamically determine number of consumers Real prioritized HornetQ in paging mode Open sourcing the project.

Contact messagebust-team@groupon.com lin@groupon.com http://engineering.groupon.com