websphere messaging positionningmq et was...

21
Software Group © 2006 IBM Corporation p1 WebSphere Messaging Positionning MQ et WAS SIBus Carl Farkas IBM France - WebSphere BI zSeries Consultant Paris, France Internet : farkas @ fr.ibm.com Notes : Carl Farkas/France/IBM @ IBMFR

Upload: others

Post on 30-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: WebSphere Messaging PositionningMQ et WAS SIBusguide.webspheremq.fr/lmd_faqmq.php/?nom_doc=Web...Software Group ©2006 IBM Corporation p4 Intro WebSphere MQ (ex-MQSeries) est commércialisépar

Software Group

© 2006 IBM Corporation p1

WebSphere MessagingPositionning MQ et WAS SIBus

Carl Farkas

IBM France - WebSphere BI zSeries Consultant

Paris, France

Internet : farkas @ fr.ibm.com

Notes : Carl Farkas/France/IBM @ IBMFR

Page 2: WebSphere Messaging PositionningMQ et WAS SIBusguide.webspheremq.fr/lmd_faqmq.php/?nom_doc=Web...Software Group ©2006 IBM Corporation p4 Intro WebSphere MQ (ex-MQSeries) est commércialisépar

Software Group

© 2006 IBM Corporation p2

Agenda

� Rappel de MQ et SIBus

� Environnements d’exécution

� Caractéristiques

� Performances

Page 3: WebSphere Messaging PositionningMQ et WAS SIBusguide.webspheremq.fr/lmd_faqmq.php/?nom_doc=Web...Software Group ©2006 IBM Corporation p4 Intro WebSphere MQ (ex-MQSeries) est commércialisépar

Software Group

© 2006 IBM Corporation p3

Couche de transport

« Pourquoi les gens envoient des messages, Papa ? » « Pour éviter qu’ils se parlent… »

Page 4: WebSphere Messaging PositionningMQ et WAS SIBusguide.webspheremq.fr/lmd_faqmq.php/?nom_doc=Web...Software Group ©2006 IBM Corporation p4 Intro WebSphere MQ (ex-MQSeries) est commércialisépar

Software Group

© 2006 IBM Corporation p4

Intro

� WebSphere MQ (ex-MQSeries) est commércialisé par IBM depuis 1993, et il est

en production chez 10.000 clients au niveau mondial. Il est estimé de détenir entre

65% et 80% du marché de « messaging ».

� WebSphere Application Server v6 est sorti début 2005 avec son propre moteur de

messaging, le WAS « Default Messaging Provider » (parfois appellé « SIBus » ou

« WAS Messaging Bus » ou parfois « Platform messaging » ou etc. ! ;)

Quel produit fournit la bonne solution « messaging » pour vous ?

Il n’y certainement pas une réponse correcte pour toutes circonstances,

mais cette présentation vous donnera quelques éléments de comparaison

Page 5: WebSphere Messaging PositionningMQ et WAS SIBusguide.webspheremq.fr/lmd_faqmq.php/?nom_doc=Web...Software Group ©2006 IBM Corporation p4 Intro WebSphere MQ (ex-MQSeries) est commércialisépar

Software Group

© 2006 IBM Corporation p5

Rappel : Qu'est-ce que WebSphere MQ ?

• Une interface de programmation (API) pour envoyer/recevoir

des messages

• Disponible sur plus de 40 plates-formes (Windows, Unix,

System z, System i, etc.)

• Disponible depuis tous les langages classiques (C, C++,

VB, COBOL, Java, GAP, etc.)

• Facile à apprendre; facile à développer

• Un gestionnaire de files ("Queue manager")

• Assurer le transport des messages jusqu'à leur

destination

• Simple à mettre en oeuvre et gérer

• Performant et fiable

• Le standard du marché MOM depuis 1993 avec plus de 70%

du marché

• Plus de 450 produits "MQ ready" sur le marché

• Plus de 2000 consultants « certifiés MQ »

Application

:

ioQueue = session.createQueue( « MaFile » );

QueueSender queueSender =

session.createSender(ioQueue);

queueSender.send(outMessage);

:

Transport

WebSphere MQ

API MQ

Page 6: WebSphere Messaging PositionningMQ et WAS SIBusguide.webspheremq.fr/lmd_faqmq.php/?nom_doc=Web...Software Group ©2006 IBM Corporation p4 Intro WebSphere MQ (ex-MQSeries) est commércialisépar

Software Group

© 2006 IBM Corporation p6

Server

Rappel : Qu’est-ce que WAS SIBus ?• SIBus fournit un support natif dans WAS pour des messages JMS

• Disponible sur toutes plates-formes WAS v6

• Support d’interface JMS 1.1 depuis WAS

• Support des modèles de distribution de messages Point à Point ou Pub/Sub

NodeNode

Server

CellNode Node

Server1

(Bus Member)

Server2

(Bus Member)

ME ME

Bus

Queue Point D1

D2

D1

DestinationsCluster1 (Bus Member)

ME ME

Queue Point D2 Queue Point D2

• Les définitions « SIBus » sont

connues au niveau du Cell WAS

• Un SIBus comprend un (ou plus)

Messaging Engine (ME) ; le ME

gère des ressources (eg. Queues)

• Les Queues sont définies sur des

ME

• Le ME stocke les messages dans

une base de donnée (eg.

Cloudscape, DB2…)

• Un SIBus peut être connecté à

l’extérieur, eg. un autre SIBus ou

QM

Page 7: WebSphere Messaging PositionningMQ et WAS SIBusguide.webspheremq.fr/lmd_faqmq.php/?nom_doc=Web...Software Group ©2006 IBM Corporation p4 Intro WebSphere MQ (ex-MQSeries) est commércialisépar

Software Group

© 2006 IBM Corporation p7

Environnement opérationnel

DB par JDBC (et

fichiers à partir de

v6.1)

FichiersPersistance

WASWAS, IMS, CICS, MQEnvironnements

gestionnaires de

transaction

Java (JMS WAS)Java (JMS + base), C,

C++, PL/I, COBOL,

Assembler, GAP, VB,

etc.

Langages de

développement

Les principaux (z/OS,

i5/OS, AIX, Linux,

Solaris, HP-UX,

Windows)

Les principaux (z/OS,

i5/OS, AIX, Linux,

Solaris, HP-UX,

Windows) + 30

d’autres (eg.

OpenVMS, Tandem,

TPF, VSE, etc.)

Plates-formes

supportées

SIBusMQ

Page 8: WebSphere Messaging PositionningMQ et WAS SIBusguide.webspheremq.fr/lmd_faqmq.php/?nom_doc=Web...Software Group ©2006 IBM Corporation p4 Intro WebSphere MQ (ex-MQSeries) est commércialisépar

Software Group

© 2006 IBM Corporation p8

Administration� L’administration de MQ

– API : PCF (plutôt format de message)

– Interface ligne : commandes, RUNMQSC

– Interface menu (MQExplorer et ISPF/PDF sur z/OS)

– Beaucoup d’offres des tiers sur le marché (Tivoli, MQSoftware, BMC, etc)

� L’administration de SIBus

– API : JAX

– Menus d’admin WAS

– Des outils existent, mais moins

aujourd’hui

Page 9: WebSphere Messaging PositionningMQ et WAS SIBusguide.webspheremq.fr/lmd_faqmq.php/?nom_doc=Web...Software Group ©2006 IBM Corporation p4 Intro WebSphere MQ (ex-MQSeries) est commércialisépar

Software Group

© 2006 IBM Corporation p9

Sécurité - MQ

� Accès aux files peut être contrôlé

(accès limité aux userids, groupes)

� Commandes pour controller (setmqaut, dspmqaut)

� SSL et encryptions lors de transmission par les canaux

Page 10: WebSphere Messaging PositionningMQ et WAS SIBusguide.webspheremq.fr/lmd_faqmq.php/?nom_doc=Web...Software Group ©2006 IBM Corporation p4 Intro WebSphere MQ (ex-MQSeries) est commércialisépar

Software Group

© 2006 IBM Corporation p10

Securité - SIBus

� Accès aux files peut être contrôlé

(accès limité aux userids, groupes)

� Commandes wsadmin pour définir les

contrôles

Page 11: WebSphere Messaging PositionningMQ et WAS SIBusguide.webspheremq.fr/lmd_faqmq.php/?nom_doc=Web...Software Group ©2006 IBM Corporation p4 Intro WebSphere MQ (ex-MQSeries) est commércialisépar

IBM Software Group | WebSphere software

Interopérabilité

� WAS v6 fournit MQLink

� Echange de messages entre WMQ Queue Manager et WAS V6 Messaging Engine

� Pour MQ, le WAS ME est un QM classique

� Définition côté MQ des canaux Sender/Receiver

� Le CONNAME pour le canal WMQ sender précise l’endpoint (ipaddress:port) WAS

NodeBus

AppServer1

ME1

AppServer2

ME2Gateway QMgr1

Gateway

QMgr2

QMgr3

Link

MQLink

MQ Channels

Cell WebSphere MQ network(vue comme Foreign Bus)

� WAS v6.1 ajoute la possibilité de définir un « MQServer »

� Attention ! Le WAS « MQServer » s’appuie sur….. Un MQ Client !

Page 12: WebSphere Messaging PositionningMQ et WAS SIBusguide.webspheremq.fr/lmd_faqmq.php/?nom_doc=Web...Software Group ©2006 IBM Corporation p4 Intro WebSphere MQ (ex-MQSeries) est commércialisépar

IBM Software Group | WebSphere software

Configuration JMS

� Configuration JMS avec des objets SIbus

�SIBus « pur » - messages restent dans le monde SIBus

�SIBus, mais communiquant avec MQ – MQLink, MQServer, Foreign bus

� Configuration JMS avec des objets MQ

�S’appuyant sur MQ Queue Manager local, dit mode « bindings »

�S’appuyant sur MQ Client

Quatre types de configuration !

AddAdd picturepicture herehere !!

Page 13: WebSphere Messaging PositionningMQ et WAS SIBusguide.webspheremq.fr/lmd_faqmq.php/?nom_doc=Web...Software Group ©2006 IBM Corporation p4 Intro WebSphere MQ (ex-MQSeries) est commércialisépar

Software Group

© 2006 IBM Corporation p13

Qualités de service - MQ

Queue

Manager

Queue

CC/RC

Queue

CC/RC

Application

Program

MQPUT

MQPUT

Queue Files

Persistent

message

Non-Persistent

message

Logs

� Persistent Messages

– Persistent Messages sont toujours récupérables

� Non-persistent Messages ont 2 classes de service:

– Messages sont gardés pendant la session du QMgr

(défault sauf files partagées)

– Messages peuvent être maintenus au travers d’un

redémarrage normal d’un QMgr

Page 14: WebSphere Messaging PositionningMQ et WAS SIBusguide.webspheremq.fr/lmd_faqmq.php/?nom_doc=Web...Software Group ©2006 IBM Corporation p4 Intro WebSphere MQ (ex-MQSeries) est commércialisépar

Software Group

© 2006 IBM Corporation p14

Qualités de service - SIBus

� BEST_EFFORT_NONPERSISTENT

– Messages are never written to disk

– throw away messages if memory cache over-runs

� EXPRESS_NONPERSISTENT

– Messages are written asynchronously to persistent storage if memory cache

overruns, but are not kept over server restarts

– No acknowledgement that the ME has received the message

� RELIABLE_NONPERSISTENT

– Same as Express_Nonpersistent, except, with a low level acknowledgement

message that the client code waits for, before returning to the application with an

OK or not OK response

� RELIABLE_PERSISTENT

– Messages are written asynchronously to persistent storage during normal

processing, and stay persisted over server restarts.

– If the server fails, messages are lost if they are held in the cache at the time of

failure.

� ASSURED_PERSISTENT

– Highest degree of reliability where assured delivery is supported

High

Low

Performance

Low

High

Reliability

Plus proche à MQ Non-Persistent ?

Plus proche à MQ Persistent

Plus proche à MQ Non-Persistent avec NPMCLASS = HIGH ?

Page 15: WebSphere Messaging PositionningMQ et WAS SIBusguide.webspheremq.fr/lmd_faqmq.php/?nom_doc=Web...Software Group ©2006 IBM Corporation p4 Intro WebSphere MQ (ex-MQSeries) est commércialisépar

Software Group

© 2006 IBM Corporation p15

Performance WAS JMS

Sur : les performances de WAS v6 JMS s’appuyant sur SIBus 5 est beaucoup

mieux que WAS v5.1 JMS s’appuyant sur MQ v5.3

Assured Persistent Messaging Performance

1175659

21651756

4078

2802

0

1000

2000

3000

4000

5000

ops/sec

V5.1 V6.0 local DB V6.0 remote DB

MDB_PTP_P_TR MDB_PS_P_D_TR

CP U% WAS 24 98 91 20 96 76

CP U% DB 36 43

MDB = MDB receiver, stand-alone sender scenario

PTP = po int-to -point messaging domain, PS = publish-subscribe messaging domain

P = persistent, D = durable subscription, TR = transaction required

System co nfigurat ion

Producer: xSeries 445 Server, 4 x 3.0 GHz Xeon, 2 GB ram, Windows 2003 Server Ent Edition

Consumer: xSeries 365 Server, 4 x 2.8 GHz Xeon, hyper threaded, 3.5 GB ram, Windows 2003 Server Ent Edition

Database: xSeries 365 Server, 4 x 2.8 GHz Xeon, hyper threaded, 3.5 GB ram, Windows 2003 Server Ent Edition,

DB2 v8.2

Page 16: WebSphere Messaging PositionningMQ et WAS SIBusguide.webspheremq.fr/lmd_faqmq.php/?nom_doc=Web...Software Group ©2006 IBM Corporation p4 Intro WebSphere MQ (ex-MQSeries) est commércialisépar

Software Group

© 2006 IBM Corporation p16

WebSphere MQ Performance – Point à Point – Java vs. C

18539

3389

13893

3954

0

5000

10000

15000

20000

WMQ

V6

WMQ

V6

JMS

non-

persistent

persistent

� Local queuing scenario

� 2 kByte message size

� Roundtrip messaging

Page 17: WebSphere Messaging PositionningMQ et WAS SIBusguide.webspheremq.fr/lmd_faqmq.php/?nom_doc=Web...Software Group ©2006 IBM Corporation p4 Intro WebSphere MQ (ex-MQSeries) est commércialisépar

Software Group

© 2006 IBM Corporation p17

Performance – WAS v6 JMS

0

0.0005

0.001

0.0015

0.002

0.0025

0.003

0.0035

0.004

0.0045

0 20 40 60 80 100 120

Message length (KB)

CP

U T

ime

(sec

)

PUT(Persistent)

PUT(Non Persistent)

GET(Persistent)

GET(Non Persistent)

JMS PUT/GET (local WMQ)

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0 20 40 60 80 100 120

Message length (KB)

CP

U T

ime (se

c)

PUT(Persistent)

PUT(Non persistent)

GET(Persistent)

GET(Non persistent)

JMS PUT/GET (SIBus)

� Consommation CPU beaucoup moins avec MQ (ordre de grandeur !)

� Attention : tests avec WAS v6.01 et MQ v5.3.1

� Auteur original : インフラ設計 (et IBM Design Center, avec mes remerciements….. ;>)

1)

2)

3)

4)

Page 18: WebSphere Messaging PositionningMQ et WAS SIBusguide.webspheremq.fr/lmd_faqmq.php/?nom_doc=Web...Software Group ©2006 IBM Corporation p4 Intro WebSphere MQ (ex-MQSeries) est commércialisépar

Software Group

© 2006 IBM Corporation p18

Haute-disponibilité - MQ

� Dispositif MQ Clusters

– Multiples instances d’une file

– Accès aux messages uniquement par le QM original

– Distribution de charge avec multiples algorithmes

� Files partagées (« shared queues »)

– Unique instance d’une file, accessible simultanément par

multiples QMs

– Limité à z/OS (coupling facility)

� Clustering matériel (eg. HACMP, MCS, etc)

– Uniquement actif-passif (une instance du QM actif à un

moment donné)

Page 19: WebSphere Messaging PositionningMQ et WAS SIBusguide.webspheremq.fr/lmd_faqmq.php/?nom_doc=Web...Software Group ©2006 IBM Corporation p4 Intro WebSphere MQ (ex-MQSeries) est commércialisépar

Software Group

© 2006 IBM Corporation p19

Haute-disponibilité - SIBus

� Le SIBus exploite les facilités de WebSphere

Application Server pour l’haute disponibilité

� Par défaut, un ME est démarré sur le premier

serveur démarré dans le Cluster

� En cas d’échec, le ME est démarré dans un

autre serveur (fonction HAMgr de WAS)

� Les mêmes avantages que les Files Partagées

de MQ : messages toujours disponibles !

(MQ Cluster + Cluster matériel peut donner la

fonction)

� Inconvénient : accès ralenti aux messages

(par réseau)

� Possibilité d’avoir une file dans multiples MEs simultanément pour augmenter les

performances (scalabilité)

ME ME

Cluster

Server2Server1

Bus

Base (JDBC)

DestinationSIBus

Page 20: WebSphere Messaging PositionningMQ et WAS SIBusguide.webspheremq.fr/lmd_faqmq.php/?nom_doc=Web...Software Group ©2006 IBM Corporation p4 Intro WebSphere MQ (ex-MQSeries) est commércialisépar

Software Group

© 2006 IBM Corporation p20

Etc

� MQ propose beaucoup plus de « petites fonctions »…

�Message segmentation

�Message groups

�Reference messages

�Compression

� SIBus est limité aux messages de < 40 MB (MQ supporte < 100 MB)

� MQ est clairement un produit plus « mature »

Page 21: WebSphere Messaging PositionningMQ et WAS SIBusguide.webspheremq.fr/lmd_faqmq.php/?nom_doc=Web...Software Group ©2006 IBM Corporation p4 Intro WebSphere MQ (ex-MQSeries) est commércialisépar

Software Group

© 2006 IBM Corporation p21

Résumé

WebSphere SIBus

WebSphere MQ

� Integration surtout avec WAS

� Objectif primaire : J2EE

� Couche de médiation fournie

naturellement par WESB

� Pour un environnement

hétérogène, eg. Java et

non-Java, plates-formes

“exotiques”, etc.

� Objectif primaire : messaging

� support des standards

� Couche de médiation fournie naturellement par

WebSphere Message Broker