From 6dcd1727eb9d5dbfcb8f6e9599ada10d33063bac Mon Sep 17 00:00:00 2001 From: Simeon Simeonov Date: Wed, 18 Jan 2023 21:12:31 +0100 Subject: Remove some old presentations --- reveal.js/rabbitmq.html | 528 ++++++++++++++++++++++++------------------------ 1 file changed, 264 insertions(+), 264 deletions(-) (limited to 'reveal.js/rabbitmq.html') diff --git a/reveal.js/rabbitmq.html b/reveal.js/rabbitmq.html index ed1cbfd..6d1ba7a 100644 --- a/reveal.js/rabbitmq.html +++ b/reveal.js/rabbitmq.html @@ -1,311 +1,311 @@ -
- -- Simeon Simeonov -
-+ Simeon Simeonov +
+ -Skaffe seg maskin og SSL sertifikat(er)
Bruke Ansible
Opprette administrator-bruker og slette guest-brukeren
Sette rettigheter og opprette entiteter
Skaffe seg maskin og SSL sertifikat(er)
Bruke Ansible
Opprette administrator-bruker og slette guest-brukeren
Sette rettigheter og opprette entiteter
Vi bruker repo UAIT/int-ansible-hosts
-Etter å ha installert Ansible på lokalmaskina gjør vi følgende:
-git clone ssh://git@bitbucket.usit.uio.no:7999/uait/int-ansible-hosts.git
cd int-ansible-hosts
ansible-playbook --ask-become-pass -v --extra-vars '{"hosts": "mq-hostname"}' rabbitmq_playbook.yml
RabbitMQ skal nå være installert og tilgjengelig på https://mq-hostname
-Vi bruker repo UAIT/int-ansible-hosts
+Etter å ha installert Ansible på lokalmaskina gjør vi følgende:
+git clone ssh://git@bitbucket.usit.uio.no:7999/uait/int-ansible-hosts.git
cd int-ansible-hosts
ansible-playbook --ask-become-pass -v --extra-vars '{"hosts": "mq-hostname"}' rabbitmq_playbook.yml
RabbitMQ skal nå være installert og tilgjengelig på https://mq-hostname
+Brukeren guest med passord guest vil eksistere etter at Ansible har kjørt
-I tillegg til webgrensesnittet, kan en bruke rabbitmqctl
-rabbitmqctl list_users (Lister alle eksisterende RabbitMQ-brukere)
rabbitmqctl add_user rmq_admin <passord> (Legger til dedikert admin bruker rmq_admin)
rabbitmqctl set_user_tags rmq_admin administrator (Gir administrator rolle til rmq_admin)
rabbitmqctl delete_user guest (Sletter brukeren guest)
Brukeren guest med passord guest vil eksistere etter at Ansible har kjørt
+I tillegg til webgrensesnittet, kan en bruke rabbitmqctl
+rabbitmqctl list_users (Lister alle eksisterende RabbitMQ-brukere)
rabbitmqctl add_user rmq_admin <passord> (Legger til dedikert admin bruker rmq_admin)
rabbitmqctl set_user_tags rmq_admin administrator (Gir administrator rolle til rmq_admin)
rabbitmqctl delete_user guest (Sletter brukeren guest)
vhost fungerer som en beholder (container) for RabbitMQ/AMQP objekter. Nok igjen kan en velge mellom webgrensesnitt og rabbitmqctl
-rabbitmqctl list_vhosts (Lister alle eksisterende vhosts)
rabbitmqctl add_vhost /no/uio/integration (Oppretter vhost med navn /no/uio/integration)
vhost fungerer som en beholder (container) for RabbitMQ/AMQP objekter. Nok igjen kan en velge mellom webgrensesnitt og rabbitmqctl
+rabbitmqctl list_vhosts (Lister alle eksisterende vhosts)
rabbitmqctl add_vhost /no/uio/integration (Oppretter vhost med navn /no/uio/integration)
RabbitMQ implementerer 2 rettighetsnivåer(*):
-RabbitMQ definerer 3 typer operasjoner:
-configure - opprette / slette entiteter eller endre deres oppførsel
write - skrive melding til en entitet
read - lese melding fra entitet
(*) - /etc/rabbitmq/rabbitmq.config gir flere muligheter
-RabbitMQ implementerer 2 rettighetsnivåer(*):
+RabbitMQ definerer 3 typer operasjoner:
+configure - opprette / slette entiteter eller endre deres oppførsel
write - skrive melding til en entitet
read - lese melding fra entitet
(*) - /etc/rabbitmq/rabbitmq.config gir flere muligheter
+RabbitMQ bruker regular expressions til å definere rettigheter
-rabbitmqctl add_user cerebrum <passord>
rabbitmqctl add_user uio_ad_microservice <passord>
rabbitmqctl set_permissions -p /no/uio/integration cerebrum "^$" "^ex_.*" "^$"
rabbitmqctl set_permissions -p /no/uio/integration uio_ad_microservice "^q_ad_ms_.*" "^q_ad_ms_.*" "^(ex_messages|q_ad_ms_.*)$"
RabbitMQ bruker regular expressions til å definere rettigheter
+rabbitmqctl add_user cerebrum <passord>
rabbitmqctl add_user uio_ad_microservice <passord>
rabbitmqctl set_permissions -p /no/uio/integration cerebrum "^$" "^ex_.*" "^$"
rabbitmqctl set_permissions -p /no/uio/integration uio_ad_microservice "^q_ad_ms_.*" "^q_ad_ms_.*" "^(ex_messages|q_ad_ms_.*)$"
Køer defineres som durable ved hjelp av webgrensesnittet.
-"Alle køer (både forhåndsdefinerte og de som defineres av konsument) må ha navn som starter med q_. Køen vil ha navn som uttryker mottakeren som bruker den."
-F.eks. q_ad_ms_all vil være et passende navn for køen som brukes av AD-microservice mottakeren.
-Køer defineres som durable ved hjelp av webgrensesnittet.
+"Alle køer (både forhåndsdefinerte og de som defineres av konsument) må ha navn som starter med q_. Køen vil ha navn som uttryker mottakeren som bruker den."
+F.eks. q_ad_ms_all vil være et passende navn for køen som brukes av AD-microservice mottakeren.
+"Avsendere vil vanligvis sende meldinger til exchange ex_messages."
-Det er flere typer exchange, men vi vil bruke kun topic exchange.
-"Avsendere vil vanligvis sende meldinger til exchange ex_messages."
+Det er flere typer exchange, men vi vil bruke kun topic exchange.
+Routing keys i topic exchange
Bindinger
Protokoller og porter
Eksempler
Routing keys i topic exchange
Bindinger
Protokoller og porter
Eksempler
Routing key settes av sender som en del av meldingen og blir inspisert av brokeren dersom meldingen sendes til en topic exchange.
-Strukturen til en topic / message routing key er:
-<kilde>.<type>.<objekt>.<hendelse>
-F.eks.:
-cerebrum.event.person.delete
-Routing key settes av sender som en del av meldingen og blir inspisert av brokeren dersom meldingen sendes til en topic exchange.
+Strukturen til en topic / message routing key er:
+<kilde>.<type>.<objekt>.<hendelse>
+F.eks.:
+cerebrum.event.person.delete
+For at en melding sendt til en topic exchange skal havne i en bestemt kø, må køen være bundet (bound) til exchange.
-I topic exchange brukes routing key (topic) til å avgjøre hvilke av meldingene som blir sendt vil havne i køen som er bundet.
-Dersom vi binder køen q_ad_ms_all til topic exchange ex_messages med binding key cerebrum.event.account.* vil alle meldinger som blir sendt til ex_messages med topic som starter med cerebrum.event.account. havne i q_ad_ms_all.
-En kø kan bli bundet med én eller flere nøkler til en topic exchange.
-For at en melding sendt til en topic exchange skal havne i en bestemt kø, må køen være bundet (bound) til exchange.
+I topic exchange brukes routing key (topic) til å avgjøre hvilke av meldingene som blir sendt vil havne i køen som er bundet.
+Dersom vi binder køen q_ad_ms_all til topic exchange ex_messages med binding key cerebrum.event.account.* vil alle meldinger som blir sendt til ex_messages med topic som starter med cerebrum.event.account. havne i q_ad_ms_all.
+En kø kan bli bundet med én eller flere nøkler til en topic exchange.
+"AMQP 0.9.1 prioritert siden det er protokollen som mapper best mot RabbitMQs funksjonalitet. Vi har også noe erfaring med bruk av denne."
-RabbitMQ lytter for AMQP0.9.1 på SSL port 5671.
+"AMQP 0.9.1 prioritert siden det er protokollen som mapper best mot RabbitMQs funksjonalitet. Vi har også noe erfaring med bruk av denne."
+RabbitMQ lytter for AMQP0.9.1 på SSL port 5671.
-Andre protokoller og tjenester for RabbitMQ:
-Andre protokoller og tjenester for RabbitMQ:
+--- $ pip install pika -++ $ pip install pika +
Python:
-"Well, we'll not risk another frontal assault. That rabbit's dynamite...."
-Python:
+"Well, we'll not risk another frontal assault. That rabbit's dynamite...."
+- RabbitMQ: -
-- - http://www.rabbitmq.com - RabbitMQ sin offisielle side - -
- - http://www.rabbitmq.com/configure.html - Generell konfigurasjon av RabbitMQ - -
- - http://www.rabbitmq.com/management.html - Bruk av rabbitmq_management plugin i RabbitMQ - -
- - http://www.rabbitmq.com/access-control.html - Tilgangskontroll i RabbitMQ - -
- - http://www.rabbitmq.com/man/rabbitmqctl.1.man.html - rabbitmqctl manual side - -
- - http://www.rabbitmq.com/tutorials/amqp-concepts.html - Generelt om AMQP og forskjellige exchanges - -
- UiO: -
-- - Installasjon og oppsett av RabbitMQ for Cerebrum utviklere - -
- - Oppsett av RabbitMQ for Office365 integrasjon mot UiA - -
- - Utredning: Meldingsflyt, kø-struktur og navngiving (intern) - -
- Bøker: -
-- - RabbitMQ in action - Alvaro Videla / Jason J.W. Williams - 2012 - Manning - -
- - Mastering RabbitMQ - Ayanoglu / Aytas / Nahum - 2015 - PACKT Publishing - -
+ RabbitMQ: +
++ + http://www.rabbitmq.com - RabbitMQ sin offisielle side + +
+ + http://www.rabbitmq.com/configure.html - Generell konfigurasjon av RabbitMQ + +
+ + http://www.rabbitmq.com/management.html - Bruk av rabbitmq_management plugin i RabbitMQ + +
+ + http://www.rabbitmq.com/access-control.html - Tilgangskontroll i RabbitMQ + +
+ + http://www.rabbitmq.com/man/rabbitmqctl.1.man.html - rabbitmqctl manual side + +
+ + http://www.rabbitmq.com/tutorials/amqp-concepts.html - Generelt om AMQP og forskjellige exchanges + +
+ UiO: +
++ + Installasjon og oppsett av RabbitMQ for Cerebrum utviklere + +
+ + Oppsett av RabbitMQ for Office365 integrasjon mot UiA + +
+ + Utredning: Meldingsflyt, kø-struktur og navngiving (intern) + +
+ Bøker: +
++ + RabbitMQ in action - Alvaro Videla / Jason J.W. Williams - 2012 - Manning + +
+ + Mastering RabbitMQ - Ayanoglu / Aytas / Nahum - 2015 - PACKT Publishing + +