Enterprise Infrastucture the multithreading thing
illk sw m
om
Co-Founder and CTO
@
er
Stefan Willkommer
me ;)
i s s i S
Annette
Tiger
What is
ENTERPRISE
more servers
more users
more transaction
What is the
PROBLEM
huge imports
>1.000.000 records
multiple
SERVER setup
volatile
TRAFFIC peaks
increasing
CACHE dilemma
scale
OUT
What’s
WRONG?
think outside the
BOX
Java Python
Ruby
JS
and now?
IMAGINE
POSSIBILITIES
EVENTLOOPS
FORKS
THREADS
What is a
THREAD
Process-Model without
THREADS
Process-Model with
THREADS
What do we
NEED
PHP 5.3+
compiled thread-safe --enable-maintainer-zts
PECL extension
pthreads
What can we do
NOW
my first
THREAD
my first
THREAD
What is a
STACKABLE
enabling sharing and synchronizing
Data over THREADS
tasks which can be processed
by a WORKER
What can be
SHARED
everything which is
SERIALIZABLE
sharing Data with a
Stackable
sharing Data with a
Stackable
sharing Data with a
Stackable
What is a
WORKER
allows stacking of
DATA
like a
QUEUE
SYNCHRONISATION and
CONCURRENCY HANDLING
waiting for Threads with
join()
enables waiting for one or more
THREADS
makes sure that result is available in
THREAD
synchronizing Threads with
synchronized()
sharing
Resources
What to do with all these
POSSIBILITIES
sure thing, building an
INFRASTRUCTURE
Runtime ApplicationServer Container 2
Container 1 MQ Server
PC Server
WebServer
MBeans SBeans
Servlet Engine
TimerService Socket 0.0.0.0:8587
Message
Socket 0.0.0.0:8585
Socket 0.0.0.0:8586
RemoteMethod
HTTP
…
…
Let’s get
STARTED
running
NEOS on appserver.io
What’s
NEXT?
Version
1.1
Thank You
Questions?