88
Camel Spotting Bjørn Nordlund Rune Peter Bjørnstad

Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

Embed Size (px)

Citation preview

Page 1: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

Camel Spotting

Bjørn Nordlund Rune Peter Bjørnstad

Page 2: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

Camel Spotting

Bjørn Nordlund Rune Peter BjørnstadEric Idle

Page 3: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters
Page 4: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

Camel på 1 slide

Page 5: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

Krav

Ta i mot fil med 1000 betalingstransaksjoner.

Hver betalingstransaksjon sendes individuelt til dekningskontrollsystem

Betalingstransaksjonene sendes samlet til clearing, KUN hvis alle kom ok gjennom dekningskontroll

(dekningskontroll og clearing ligger på mainframe. Det finnes allerede spring beans som kan snakke med disse.)

Page 6: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

Krav

Ta i mot fil med 1000 betalingstransaksjoner.

Hver betalingstransaksjon sendes individuelt til dekningskontrollsystem

Betalingstransaksjonene sendes samlet til clearing, KUN hvis alle kom ok gjennom dekningskontroll

(dekningskontroll og clearing ligger på mainframe. Det finnes allerede spring beans som kan snakke med disse.)

Motta filer Dekningskontroll ClearingSplit Aggregate

Page 7: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters
Page 8: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 9: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 10: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 11: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 12: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 13: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 14: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 15: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 16: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 17: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

git clone https://github.com/runepeter/camel-stuff.gitgit reset –hard a2

Page 18: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

Balance check krav

Hvis noen transaksjoner mangler dekning skal ingen av transaksjonene i fila til clearing.

Reserveringer gjort av balance check systemet skal tilbakestilles innen 1 minutt, uavhengig av om pengene faktisk blir clearet eller om det mangler dekning.

Page 19: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 20: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 21: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 22: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 23: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 24: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 25: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 26: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 27: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 28: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

git reset –hard a3

Page 29: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

hmmm

1,5 sekunder X 1000 = 1500 sekunder = 25 minutter

(det finnes maling som tørker raskere)

Page 30: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

Løs det!

Page 31: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 32: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

100 Worker threads

Page 33: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

100 Worker threads

Page 34: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

100 Worker threads

Page 35: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

100 Worker threads

Page 36: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

100 Worker threads

Page 37: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

100 Worker threads

Page 38: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

100 Worker threads

Page 39: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

100 Worker threads

Page 40: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

100 Worker threads

Page 41: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

git reset –hard a5

Page 42: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 43: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 44: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 45: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

100 Consumers

DB

Page 46: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 47: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 48: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 49: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 50: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 51: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 52: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 53: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 54: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

git reset –hard a6

Page 55: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 56: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DBrollbackReservations()

timeout

Page 57: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

commitReservations()

size=1000

DB

Page 58: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

git reset –hard a8

Page 59: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 60: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 61: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 62: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 63: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 64: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

Page 65: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

DB

DB

Page 66: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

git reset –hard a9

Page 67: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

Fordeler, ulemper, konklusjoner

Page 68: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters
Page 69: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters
Page 70: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters
Page 71: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters
Page 72: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters
Page 73: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

Alternativer?

Page 74: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

Bør du ta camel i bruk?

Page 75: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters
Page 76: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters
Page 77: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters
Page 78: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

git reset --hard v2 (adding jms and transactions)

Page 79: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

git reset --hard v4 (threads – transaction problems)git reset --hard v5 (jms concurrentConsumers – no timeout)git reset --hard v6 (timeout and compensating transaction - transaction problems)git reset --hard v7 (removing on completion – final solution)

Page 80: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

git reset --hard v3 (changing configuration to production)

Page 81: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters
Page 82: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

git clone https://[email protected]/runepeter/camel-stuff.git

git reset --hard v0 (starting point)

Page 83: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

git reset --hard v1 (first try)

Page 84: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

Litt om vår bakgrunn

Page 85: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

STAY

Page 86: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

Vår motivasjon til å snakke om camel

Page 87: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

Hva vi håper dere sitter igjen med etter dette foredraget?

Page 88: Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters

... then we start...