Merken

I Can’t Believe It’s Not A Queue: Using Kafka with Rails

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
my my my my my my my my my my head and so here here for the capital I'm disappointed as a sponsor talks if you want to go to the people who actually out and you to other people thought of today is may force
the habits are words day I did not bring these gender Rome's but I do on the on the pretty awesome from I
intensely if you have a really good idea where that's what an all from 0 to 1 in yet feel free to let me if you have questions about talk on this was my blue
hackers of think on it it's over decadal at this point it's kind of afraid the but I do have blue hat figures that look much more interesting so you do want those feel free to come and talk to me and I'll be happy to be 1 of also run
a or I've been help helping this reader achievement of PDi were as much of these I think the last like 3 or so years we've been able to do have been able to have a charity event where the organizer not which is an amazing that every re conference have been at which is but here it is a picture from last week on and it was a lot of fun and if you are too intimidated about singing you'll have to but but a lot people come to retrieve the as the 1st character than of anyone who's had a bad time so
what the will be doing it tomorrow at 7 PM at the so don't show up saying the bond with your fellow Rios it's a I think Charlie's in Charlie numbers in there and it's experience like watching seeing Shakira is something that you wouldn't want us but I work for a parochial us
that's what the sponsor talks from but I work with British there on the experience and but again it can do most work so you should if you have read from the product imminently now so that would help ensure let's talk about after so as must've come here because you've heard of popularity may not know what it is but the from some other height and you can wondering why would 1 use this technology the technology in like why should I care and so to kind of distilled white how renew the stock is do short intro about how often and half the topics and you know why don't have related to what profit is and we'll talk about how you can use copper with Ruby specifically but I build a specific Dunlap for this talk that will kind of walk through and do the deep dive there and then I my co-worker and friend tom is going to go through kind of other patterns new cases you can do with topic on besides the 1 with like-minded
so what is popular and if you go to the Apache it impacted project due to the official documentation you get this these great to sensors as like the 1st paragraph and read
says profit is a distributed partition replicated commit what service provides the functionality of a mess in system but with a unique design the 1st reading this when I was trying to learn about this and I promote gender idea what this actually said so well you what
popular but unlike a high-level for me if you to think about it kind of simply is it's a hot like a pub matching systems of use reticent use its parts of features or views in key I'm units can analogous to kind of that feature set up and it's also distributed and you'll see why that's important as we go to the top many in
its design with these kind guarantees that its fast but it's scalable and time of this review nature and it's durable and having a really important point on
so you know like with regards to performance like we can process hundreds of thousands to millions of messages 2nd on a small cluster if you're thinking about in QP as a reference point you Polly talking about right tens of thousands of messages on a single node so I you know like it's a huge difference in performance for even just like is a using it as a simple means message bus on and I know you guys
have used like the project of that's this rate of product capital of folks do for no monitoring of performance of the Rails application but from the ground up soon when you're doing that kind of act you need to have it be scalable and Bill to do this kind of work and they have talk as a core part of the architecture and 1 the tenets of that is that is durable so you know it's common to think that you need to restart your processes because crash something and cough allows you to basically have these on commits of where you have a position in time and then if your services go down you can basically know when the last time you've done something and replay it's of the most recent point as a transaction and not lose any data which is a really important point when you're lying on a service to do metrics for you on so oversight folks and then I've talked with them on about this and they've been very happy with doctor in the art at fish architecture for constantly
and so now we've talked about that but what's going to step back and go through some of the both have that you have to do with when dealing with so at part of it and we talk about like produces a consumer severely pub-sub stuff you're probably very familiar with this and like you probably use I've taken summer relapse and in producers are the code inside the rails after actually like produces the work that is going to be done and sidekick would be the bird relatively equal of the proper cluster here and and and consumers to be the actual workers psychic workers on the other and they're actually passing the jobs and work is that very similar of how you like to work for what you do with top itself on inside the coffin cluster you have multiple nodes and those nodes are known as brokers and when you're
writing and reading stuff inside of after the time corallite add a new piece of union is called the message in the message is really just the byte array and so that means it can actually represent anything so a simple example it is a strange and so when you can have any type of stream data and in certain there but you probably don't want something that's actually more structured so I think it would be very common to do some ideas on on and you can really just have any kind of format there but you can store anything as like the message value for these messages and you have about these
messages and we use topics to basic organized these messages so you can think of topics as a feed that you describe to you that has some set of these messages that you're going to want to In certain certain read from and but you
also need have partitions because if you're if you have if you need to have high throughput and when you're dealing with millions of messages you not want to store them on a single machine on so petitions allow us to to use support that across multiple on brokers and then also have replication and I'm Canada via the work there on and so each topic partition but has this guarantee that is water and it it's immutable so you can only right to the end of it and you can actually change in order of of these is the messages inside and so depend only log on and that's really important point on his allows us to achieve some these other guarantees as you kind of process stream on and
so since it's for we cannot you just of unique fled and of fighting message inside of a partition by looking at the opposite number so each message has not set which is its position inside the partition on so cough allows you to I start at any point on within a given not sets you can seek to any point inside the partition so there's another thing that you
have besides the mass that you can actually have to use seeking T a message and the importance of this is that we have all these partitions and all only within each partition is a quarter of but the key is lying to basically on put the messages with the same key will go to the same partition so you can guarantee that if you had some key based on user ID all the messages pertaining to that user would go to that partition which allows you to do but potentially certain things with the consumer on on that conservators you know all those usual be there
but anything consumers we have considered so this is a high-level concept inside after which is really neat but allows us to base we have a bunch of consumers inside a single group and have them distracted different topics and and 1 things that's nice that intergroups is that of a comparable allow will also guarantee that each message is at and deliver at least once so as long as the thing as long stuff is up and see me get a message more than once but like you can least guarantee that as we deliver once from which is
nice now so as an example here we have this discovered Costa on and so we have like 4 portends here P 0 to P 3 and then we have to give a consumer group so 1 might be like say we're archiving data it's like some event stream and select that's consumer group of B because of like high throughput so we might want more consumers there and then like to might be doing some metric erudition calculation I'm and so as in C as we add consumers to the group of the partitions get divvied up against them I'm and so if you only had a single odd consumer intensivity wouldn't and get all the partitions for that topic they spread into but as you add more than they get split up across them on dynamically which is really nice on and there's also a heartbeat system as part of office so if it detects that when the sincere groups goes down is not available it will honestly re divvy the partitions across the rest the consumers and to sue as you can also see you can have multiple consumer groups that they see process the same topics were different topics and it would have access to that data on and you'll see in these other as we would use his is why at work that's kind of the air really quick flight run through all of kind of vocab and things and not go out and things will make a lot more sense as we start to look the demo and and the other users so there's really 2 main
re libraries if you want to interact with profit and of the first one is that
has been around long is Jeremy Kafka and and this is actually just a wrapper around the official copper wire is from the properties and so these are job API as arms of using this yet yet to get pretty comfortable reading the job cannot switch you know might be will journey at 1st but is actually not too bad on but the downside is that if you have an MRI happened you want users on on that you yet to convert it to the other the other 1 is called
read after often it's done by this and this guy's it's actually fairly new projects on but it's pretty clean it's of the interface you like UI UX is actually very good for it I was pretty impressed and there are some other older profit libraries like side and and other things that the don't support consumer groups other our simple organs and they don't support the new config . 9 API is which are Baron points so if we look at a simple
producer and so instantiating cocker is like very Somerton's inching Radice except the 1 caveat here is that the we have a sea brokers in the past in like to instances of topic here but 1 thing there is that you don't actually to know all the nodes in here all the brokers in your cluster and yet you just need to have a scene of them and then once it connects to them no actually figure out all the other ones of based off of the initial seed which is kind of nice and then we just call producer Jack you produce a profit of producer and this is asynchronous words and so we just called produce on this sparse and the message that we wanna send and then we specify topic of what the feed goes to and we find out he's the forearm so in our society to get those communities of where the partitions that this matches in go to you can use this key on the symbol and then you can actually even specified down to I know I want this to go to this exact partition so you can do that as well I'm in at the end is called a little messages which fall batch of all these messages and then deliver them and is asynchronous thing so what here and if it fails to deliver any 1 of these messages you'll get an exception that you can rescue and kind do and so this is that at least 1 thing that I'll sign up for the so people be don't wanna do that arose request because you want blocking the no roles west so and so popular that has an asynchronous a which is broader what most of you are going to be using in production so messing up these things produces that all the work basically for sending messages happens in a thread-safe you in some background thread of for you and you can set these parameters to be seen how DEC producer how often you want the messages to be delivered so the threshold says I'm gonna wait until is my buffer and then once it hits that in the deliver that message to the literal those matches Kafka and delivery interval will say always certain a time and every quite when that fits of and deliver whatever is in the of refinements how messages can really be anything on this is a quick example of like how you do Jason so if you take some hash over 2 days on you can then just dump that in a cocker enormous utilization in these parts the g sine reader by a few users inside of rails you have to just need to set up an initializer and you configure initializes you're good popular like you word civil producer example on 1 thing that's different here is that you can pass the rails longer so all the half the go properly to euros lots of and then were building up anything producer because we don't want you want those Israel's request and then we make sure when we shut down the real server that Nelson shut down practice around leaking any candles resources there From inside a controller but like this is sample as basically treating all the orders so we have event stream of all the words there ever created and it's very simple to actually do that inside us so
the next part now that we know how to actually push messages in the coffers like can be reading the data that's in there and and this is the part of the API like I was saying this and this libraries new is that its experimental and I might change in the future and so I can be where low bit so there's a few API they're out there but the 1 that is for the most part it if you're doing stuff production is the consumer of PPI and so
we obtain a connection okafor like you would with the producer and the situated Parsons see brokers and stuff on and then we call the consumer method we want is is specified by the and the group ID would be like the archiver were you know like metrics or something that describes what this group is after doing on and we call subscribed for any of the topics that we aren't you want spread to and in this case we have agreed sort and we may see just having inter-rater like you would Norman really and just you can process each message you know as it gets on and this is a blocking requests for the same method so this thing will not exit after it's it will just like fetch a single batch of messages at what the continued of whole from and the 1 of the nice things in topic . 9 the actually added SL support so that actually was eating prick the messages of the transport between you're act in popular in right out the box that will be covered 5 supporters cell and Italy which is really nice seeing this passenger salsa and it just works so this is in contrast to the jury recovered thing which uses the job API as which if you try to do as a song that is a much less pleasant experience the object to write the search to disk and then do a bunch of things and it is not as easy for sure the so that we kind of have an overview of like how we actually produce and consume messages like let's look at an actual example of doing so
of the use case some induce like metrics of and what I mean by that is we have c somewhat traffic and the simple regret and base often those logs you want to produce a data like metric data on that on on a track so In roku all year
long so you can actually consume them over HTTP and we have this library in that post of these messages out and we were gonna post you this producer coffee at that we have on that will then answered that what stream into after and then on the other side we have another Ruby app that can be the same map or on adjusting other reprocess on and it will consume it so this is a web server this is just the consumer group stuff and it put stuff into right it's so it easily you know you can easily pull out a new Rails that or something that so this doesn't have to be rather set the end can inserted any data source you want that's easily portable on but in this case it was easy to do this stuff inredis of and I build the actual rails part of actors if you wait if you're real stock you probably have a good idea how to read stuff around so I really 1 waste time that so let's talk about some of the 1st part like let's look at the library and see how we can actually get you this thing so if you run Procmon log so if you ever been the coach reaction from this is that at the time and we can look at all the rather large which is what we're interested in common so here's a single rather log from that an act I pulled up this morning actually ionizing see but we can figure out the path that is being that we want to on that we can see the connect time of power to detect and diagnose this service time how long the denoted service that request reactions see the status code so those are the kind of 4 things that were interested in that way to do stuff with with this rail and so we simply add a drain on issue 3 odds itself to of some other acts so in this case is called wandering but this at probably does exist or if it does it's not out but you know it's so map out there that we can set it to the end that means that Apple then get all these requests for every single light comes in through a lot the log and in that what the request looks like it is it's a POST request and this is what's in the body it's a collection of logs and actual matters tells you is like log message like count and you can see how many blogs the action it listen example what that looks like and this is mostly follows our see 54 24 which is the syslog light-harvesting format on but we leave out the structured data thing we don't replace it with no value which is like a matter Kagame like what is in our C O lovely for us that there's actually region that we can use the system loses slot region on that was created that allows us to easily process that that will see so let's let's say now we understand like what the requests are that were receiving why can we have to build up and so on if we have a snack trap we can actually just take the body and return like it to to say that we received it and it's accepted and body would just the bike the body of the request right on and inside the process message we need to have you know access after so of Kafka the required is actually not thread-safe so you can share the copula of connection between local threat so if you're using like who were something that is multithreaded you actually want to create on this using my parents of connection pull and creating a bunch of basing producers in this case 5 and then the word processor message I this is this is extreme thing outside about don't really have to action in what it does but just know that it produces this array at the end of B. see those messages in as individual items in that rate and then with that I this iterate through them and then send them to copy and so this'll battered up based off of the EC white truffles that I have so when it hits 0 thresholds all then battle those things up and send it so existing work us on so that's that and then looking at copula so that the 1 reasons were here is we're here to talk about
we just launched last week a public data for proper which has limited access heretofore agreed upon such profit you can go and find out more about the service and and
compared to write this stuff locally on a machine it's really easy to like once you have access to it like the profit cluster I'm and so use like any other on this run add-ons create production after beta that is like a development plan as a minimal number of nodes and brokers and stuff that you want to use it and it takes a while to build up exactly as a bit of all these instances but like POS stresses away and and you can use had spent until all that stuff comes for you the end of the since you know you're consuming this thing over the network and we have that cell support graph she provides you know coffee roll which is a HDPs like a cell you role to profit foster but in addition it provides all success and lost your app from using those environments this is how you connect to the profit thing from your Elsevier I and then us since this is a public beta the copula namespace is not in the COI itself seemed install this copepod and and then once you do we can do is probably the most important thing you need to do with the same states which is to create topics and so when you copy after all and create a treaty topic in topic cluster to yourself locally you probably haven't configure Takc? decided topics as use but in production you probably you don't really wanna do that so what you have to merely free this rather topic which is what we're you which is what we're using in the the I'm and you can run in so they kind of get information about the class itself like coming topics you have hammer consumers other things running what's the traffic etc. Intraspect individual topics on and gets more information there and uh so for instance like this by default you get 32 partitions Winograd topic and in 1 the other cool things like all a large-scale You can have fruit profit tail for topics you can actually like table the traffic as you're putting stuff in it yeah so finally we're going to talk about the consumers so now that we have stuff being pushing apart and we have half a cluster and how we actually do stuff with it so this is very
similar to UBCV at consumer example on there's not much more so than that of so we connect a copper we have this metrics consumers written in the group metric rented that rather topic and evil offset here BC says and if there's not an offset that we know about hold a star at the end of and you the other 1 is like earlier c could start at the earliest offset that there is but sponsored the and were using red so we need the apparatus here exactly insert the data and then basically go to reach the messages that we get an evidence at that data requests and we'll see kind of how this metrics and certain works on and so they see what this code does it it should be pre digestable but if you sit and read it for a while but that's not that important for this type BC goes through and for our work were tackling the averages for a service for the service connection and addition were also counting the status code that you have so the base this red thing I can actually go through and see for every rap like 5 have happened the the 200 dollar for that I was telling me of this is you know like some they'll be deafening more useful would be like having a window of time for all this information so like maybe we can send something like 0 hey like what is the average response time for this rout by during this or since a lot of water something could be more useful right but since is a demo I visited the simplest thing possible so it was kind of doing local consumers so I can actually do a different server that would consume the same topic that would get the same data in not compete with the existing so I never replay consumer in what's cool about this is I can bz take the production code triage AC but see all the rats that had happened and then Basie replacing if my stating acts and I can get production traffic load that is replayed to my CD application to get a sense of those this thing scale like how is this new change working out right arm and it's really easy to kind of adding things or in consume these products but in the nice thing is that you know like you have all this orchestration and something sidekick but actually scale the stuff I I want you to do 1 brokers allegiance scale the process because we're dealing with consumer groups so when you consider consumer gets entered in the consumer group petitions here divvied up across this consumers so really this is all the code you need to do the consumer stuff which is really nice so the
demo code is available here at this stage of Rico unseen go there and check it out it's set up a doctor that and make it easy to kind of run of practice of locally known actually running the self injury after the replace stuff specifically and yet the any questions that when he comes up with the having problems running on so at this 1
inches times referred to uh is actually works on the topic product is and talk about how we use it at human and other users is due to the end of the death of the church the right so in I was migrant
and this my what's right this year by so all users have 1 of the ones we have or that rate of last is like the thing
that it was useful finance right you have all these spiral of stock trades about words of other things and you want to be durable you'll need low-latency here he high-throughput stock market to and use the beta over your messages so this is the 1 you got something we could have something else because along this actually really rooted in the for uh of which we were still is like to be tracked so you to book after we're working with lot of some of the issues they track everything you've got some great I usually to utilize recall that all these other downstream you need to know about it you might have analogous to you want to know about my work through the most of you will be people who want assume see that we have so this is 1 the of the fact that the reason those kind of all you know that shot by use of a motor exactly and the the amount of of the the managerial society you to know what people look do things that people or people blind source of course that the signed up
associated with this overview of matrix that holds up by a factor of work that of the matrix accessible has to process and this was a thousand to millions messages 2nd greater or class over the defense of the rights and metrics to think about that of the the subtle past human these and you graphs and and processes this this was come to understand the thousands to millions of messages what it can do success patches every so this is the is you don't have and every so often the rights they I have here a lot here this fact has this it's the fact that in the most successful of the 2 people that like virtual sort of time it's kind of interesting of that causal diluted usually have to use the word with
the boss so the is like what to to use the use of the work like if you have to use whatever produced over the years about everything and then everybody wants to know what the rate of for example they also telegraphic using to charge you wanna know it when you have that uh but other genes also some of the stuff for example was the most of the rest of us so that all these changes you know this post uh and we we know is that you must part of the fact that yeah and they're all executing a string of the course you know what will this the yes so hopefully after the learning will be about after it's interesting to to start looking at it to see how it fits in your application architecture but I think rails and indeed in a good spot these days where know it was yeah it's been around for a while
where it started being more critical path things and has been for a while for certain businesses its deal with more traffic than ever as part of that in you need to have things are vastly built to deal with that traffic make it scalable and there's steadily certain concerned with time transaction things where you care about durability and you don't want to be losing those kind of records so if using something like rats and and hopefully this gives you some insider inspiration to exports of profit on the that's
kernel had for my talk and I would like
to write a set out to Joe who helped me he works with me on the job were works of me but does the job of stuff that review and that helped me a bunch with of the demo bits of and I just got 3 is always in in this for growth copy with the amazing logo at the front of the talk and
and yet we're gonna have the office hours tomorrow I'm during happy hour set for 10 and a roof there will be people from rails foreign contributors the and committing to common Charlie or in town to also be at the booth they don't know yet and of course will be broken people's well and so if you have any questions about this clicker talk about progress of things that only on average up to us and we happy to talk about a quarter of the year thank you for this the the the the the the the the the end of the if you if
Warteschlange
Geschlecht <Mathematik>
Wort <Informatik>
Computeranimation
Schreib-Lese-Kopf
Punkt
Hacker
Figurierte Zahl
Selbst organisierendes System
Zahlenbereich
Ereignishorizont
Hilfesystem
Computeranimation
Warteschlange
Linienelement
Mustersprache
Projektive Ebene
Biprodukt
Computeranimation
Lesen <Datenverarbeitung>
Prinzip der gleichmäßigen Beschränktheit
Lineares Funktional
Sichtenkonzept
Physikalisches System
Partitionsfunktion
Computeranimation
Dienst <Informatik>
Einheit <Mathematik>
Funktion <Mathematik>
Geschlecht <Mathematik>
Distributionenraum
Mereologie
Eindeutigkeit
Schlüsselverwaltung
Lesen <Datenverarbeitung>
Arithmetisches Mittel
Message-Passing
Subtraktion
Knotenmenge
Prozess <Physik>
Punkt
Zehn
Rechter Winkel
Natürliche Zahl
Skalierbarkeit
Message-Passing
Computeranimation
Prozess <Physik>
Punkt
Ortsoperator
Linienelement
Systemzusammenbruch
Kartesische Koordinaten
Bitrate
Biprodukt
Code
Computeranimation
Knotenmenge
Dienst <Informatik>
Transaktionsverwaltung
Prozess <Informatik>
Mereologie
Projektive Ebene
Speicherabzug
Computerarchitektur
Serviceorientierte Architektur
Streaming <Kommunikationstechnik>
Message-Passing
Menge
Datentyp
Dateiformat
Message-Passing
Computeranimation
Partitionsfunktion
Punkt
Prozess <Physik>
Ortsoperator
Wasserdampftafel
Zahlenbereich
Partitionsfunktion
Computeranimation
Virtuelle Maschine
Streaming <Kommunikationstechnik>
Multiplikation
Datenreplikation
Message-Passing
Serviceorientierte Architektur
Message-Passing
Gruppentheorie
Gruppenkeim
Ruhmasse
Energieerhaltung
Schlüsselverwaltung
Partitionsfunktion
Message-Passing
Computeranimation
Prozess <Physik>
Linienelement
Gruppenkeim
Einfache Genauigkeit
Physikalisches System
Rechnen
Partitionsfunktion
Ereignishorizont
Computeranimation
Office-Paket
Streaming <Kommunikationstechnik>
Multiplikation
Gruppenkeim
Gruppentheorie
Trennschärfe <Statistik>
Mereologie
Programmbibliothek
Brennen <Datenverarbeitung>
Punkt
Selbst organisierendes System
Kategorie <Mathematik>
Prozess <Informatik>
Wrapper <Programmierung>
Programmbibliothek
Gruppenkeim
Konfigurationsraum
Computeranimation
Schnittstelle
Partitionsfunktion
Bit
Baumechanik
Computeranimation
Homepage
Eins
Demoszene <Programmierung>
Streaming <Kommunikationstechnik>
Puffer <Netzplantechnik>
Message-Passing
Knotenmenge
Stichprobenumfang
Hash-Algorithmus
Speicherabzug
Programmbibliothek
Thread
Ereignishorizont
Serviceorientierte Architektur
Sinusfunktion
Parametersystem
Schwellwertverfahren
Matching <Graphentheorie>
Softwarewerkzeug
Symboltabelle
Ausnahmebehandlung
Schwach besetzte Matrix
Biprodukt
Partitionsfunktion
Ereignishorizont
Digital Equipment Corporation
Mereologie
Server
Wort <Informatik>
Stapelverarbeitung
Ordnung <Mathematik>
Schlüsselverwaltung
Message-Passing
Instantiierung
Einfach zusammenhängender Raum
Partitionsfunktion
Linienelement
Quader
Linienelement
Gruppenkeim
Einfache Genauigkeit
Zellularer Automat
Login
Packprogramm
Quick-Sort
Computeranimation
Objekt <Kategorie>
Message-Passing
Weg <Topologie>
System F
Gruppentheorie
Rechter Winkel
Prozess <Informatik>
Mini-Disc
Kontrast <Statistik>
Stapelverarbeitung
Message-Passing
Serviceorientierte Architektur
Faserbündel
Router
Prozess <Physik>
Web log
Gruppenoperation
Gruppenkeim
Parser
Iteration
Aggregatzustand
Zählen
Login
Code
Computeranimation
Message-Passing
Benutzerbeteiligung
Vererbungshierarchie
Programmbibliothek
Leistung <Physik>
Einfach zusammenhängender Raum
App <Programm>
Softwareentwickler
Schwellwertverfahren
Architektur <Informatik>
Prozess <Informatik>
Stellenring
Kopula <Mathematik>
Quellcode
Physikalisches System
Zeiger <Informatik>
Bitrate
Web log
Mapping <Computergraphik>
Dienst <Informatik>
Programmfehler
Rechter Winkel
Mereologie
Dynamisches RAM
Server
Dateiformat
Extreme programming
Textverarbeitung
Streaming <Kommunikationstechnik>
Message-Passing
Brennen <Datenverarbeitung>
Mittelwert
Router
Bit
Demo <Programm>
Gruppenkeim
Parser
Kartesische Koordinaten
Information
Steuerwerk
Computeranimation
Gamecontroller
Total <Mathematik>
Bildschirmfenster
Gleitendes Mittel
Default
Serviceorientierte Architektur
Addition
App <Programm>
Zentrische Streckung
Torus
Namensraum
Teilbarkeit
Extremwert
Datennetz
Biprodukt
Dienst <Informatik>
Client
Server
Information
Versionsverwaltung
Programmierumgebung
Message-Passing
Aggregatzustand
Tabelle <Informatik>
Instantiierung
Partitionsfunktion
Wasserdampftafel
Klasse <Mathematik>
Mathematisierung
Automatische Handlungsplanung
Zellularer Automat
Zahlenbereich
Dienst <Informatik>
Code
Zeitstempel
Virtuelle Maschine
Message-Passing
Knotenmenge
Mittelwert
Datentyp
Response-Zeit
Softwareentwickler
Konfigurationsraum
Demo <Programm>
Einfach zusammenhängender Raum
Architektur <Informatik>
Graph
Linienelement
Universal product code
Betafunktion
Linienelement
Kopula <Mathematik>
Datenreplikation
Sichtenkonzept
Partitionsfunktion
Endogene Variable
Programmfehler
Last
Betafunktion
Basisvektor
Steuerwerk
Demoszene <Programmierung>
Rechter Winkel
Code
Biprodukt
Computeranimation
Demo <Programm>
Objektverfolgung
Rechter Winkel
Spirale
Betafunktion
Wort <Informatik>
Quellcode
Message-Passing
Eins
Matrizenrechnung
Linienelement
Virtualisierung
Linienelement
Mathematisierung
Klasse <Mathematik>
Kartesische Koordinaten
Bitrate
Quick-Sort
Teilbarkeit
Computeranimation
Patch <Software>
Rechter Winkel
Benutzerschnittstellenverwaltungssystem
Mereologie
Computerarchitektur
Ereignishorizont
Message-Passing
Zeichenkette
Datensatz
Transaktionsverwaltung
Mereologie
Eindeutigkeit
Computeranimation
Kernel <Informatik>
Bit
Demo <Programm>
Office-Paket
Arithmetische Folge
Mittelwert
Prozess <Informatik>
Besprechung/Interview
Office-Paket

Metadaten

Formale Metadaten

Titel I Can’t Believe It’s Not A Queue: Using Kafka with Rails
Serientitel RailsConf 2016
Teil 38
Anzahl der Teile 89
Autor Lee, Terence
Lizenz CC-Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben.
DOI 10.5446/31526
Herausgeber Confreaks, LLC
Erscheinungsjahr 2016
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract Your existing message system is great, until it gets overloaded. Then what? That's when you should try Kafka. Kafka's designed to be resilient. It takes the stress out of moving from a Rails monolith into a scalable system of microservices. Since you can capture every event that happens in your app, it's great for logging. You can even use Kafka's distributed, ordered log to simulate production load in your staging environment. Come and learn about Kafka, where it fits in your Rails app, and how to make it do the things that message queues simply can't.

Ähnliche Filme

Loading...