Skip to content

Instantly share code, notes, and snippets.

@ewbarnard
Last active June 23, 2016 22:53
Show Gist options
  • Save ewbarnard/8c71de8874ff8dc4271ebec6641919b8 to your computer and use it in GitHub Desktop.
Save ewbarnard/8c71de8874ff8dc4271ebec6641919b8 to your computer and use it in GitHub Desktop.
Producer-Consumer Programming in CakePHP/RabbitMQ
Edit: Revised description per elezar, dfeldman, edunham
Title: Producer-Consumer Programming in CakePHP/RabbitMQ
Type: Regular (1 hour including Q&A)
Description (495 of 500 chars):
When you try to do too much during a page load, your site gets slower and
slower. Producer/Consumer programming allows us to move some of the work
offline, allowing your web server to run that much faster.
We scaled our data collection for 50K views/day to 2M views/day. We'll discuss
how to choose what work to offload, and show you how we scaled our site to that
larger capacity, while speeding up page loads. This talk uses CakePHP and RabbitMQ
to teach concepts that apply to any framework.
Additional Information:
1. I am a new PHP speaker. However, I used to teach Cray Supercomputer operating
system internals (assembly and octal) as a Senior Instructor for Cray Research
Software Training.
2. This proposal is exclusive to PHP World.
3. I have articles in PHP Architect May, June, July 2016.
To whomever reviews this gist: My sincere thanks.
@elazar
Copy link

elazar commented Jun 23, 2016

This type of programming can be tricky because it requires a different way of thinking about your web site.

This seems superfluous; I'd take this out.

You might also consider adding any applicable clarification at the end regarding the talk's content not being specific to Cake or RabbitMQ.

@dfeldman
Copy link

This is great! Only change suggested is "scale your site to a much larger degree." How large a degree? How fast are the page loads? Something like "scale your site to millions of users while reducing page loads to milliseconds" or somethign would be great.

@edunham
Copy link

edunham commented Jun 23, 2016

When you try to do too much during a page load, your site gets slower and
slower. Producer/Consumer programming allows us to move some of the work
offline, allowing your web server to run that much faster.

Great intro!

We'll see how to choose what work to offload.

"Choose" implies manually examining your code to find what needs offloaded, to me. If you're also introducing tools to help identify hotspots, it'd be great to mention them here!

You can then scale your site to a much larger degree, while greatly speeding up page loads.

+1 on throwing some numbers in here to impress people, even if they're vague. Something like "You can then scale your site beyond the limitations of <thing>, while up to doubling page load speeds" or whatever.

Our examples use CakePHP 3 and RabbitMQ; however, the concepts and patterns universally apply to any framework, not just CakePHP.

You can lose some characters by phrasing this as "This talk will use ___ and ____ to teach concepts which apply to any framework."

Do you have enough characters left for an audience reassurance like "Novice and advanced programmers alike can add this new design pattern to their toolbox" or something?

@ewbarnard
Copy link
Author

Your points are well taken. I'm constrained by not giving out business numbers, but I'll see what I can do with that.

@ewbarnard
Copy link
Author

I have permission to use numbers!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment