����ƪ�����У����ǽ�����һ�� Node.js ����ԭ�ͣ���ԭ�����ڴ�Ӣ��������Ҫ�ۿ��������“Raspberry PI Zero”�Ŀ�档
��д���˴��룬Ȼ��һ���Ĺĵ����������� Aure �ϵ� Ubuntu ������ϡ�Docker �� docker-compose ����ʹ�ò�����¹��̷dz��졣
���ǵ�����ָ�link����
������Ѿ��Ķ��� Hands-on Docker tutorial��http://blog.alexellis.io/handsondocker������ô��Ӧ���Ѿ�����ʹ������������ Docker ������ͨ�������н� Node.js �ļ��������ӵ� Redis �����������������������ʾ��
$ docker run -d -P --name redis1
$ docker run -d hit_counter -p 3000:3000 --link redis1:redis
���ڼ������Ӧ�ó����Ϊ���㣺
Web ǰ��
������ʱ�������������������
Redis ���� mongo ���ݿ�
ͨ��--link����ʽ����ֻ�ǹ������������ǿ��Եģ����ǿ��ܻ���Ϊ������Ӧ�ó������Ӹ�����������ʧ�ء�
���� docker-compose
docker-compose �����DZ� Docker �������һ���֣�Ҳ���Ե������ء� ���ṩ��һ��ḻ�Ĺ��ܣ�ͨ�����ı� YAML �ļ���������Ӧ�ó���IJ�����
��������ӿ�������������
version: "2.0"
services:
redis1:
image: redis
hit_counter:
build: ./hit_counter
ports:
- 3000:3000
�� Docker 1.10 ��ʼ�����ǿ����������縲�ǣ�network overlays�������������ڶ�������Ͻ�����չ���ڴ�֮ǰ�����ӽ��ܹ����ڵ��������ϡ� docker-compose scale ���������������Ҫʱ��������ļ���������
�鿴 docker.com �ϵ� docker-compose �ο���https://docs.docker.com/compose/compose-file/��
��ʵ����ʾ����Raspberry PI ��澯ʾ
Raspberry PI Zero �������� - ����һ����С���ͼ���������� 1GHz CPU �� 512MB RAM����������������Linux��Docker��Node.js��Ruby �������������еĿ�Դ���ߡ� PI Zero ��õ��ŵ�֮һ�������ɱ�ֻ�� 5 ��Ԫ�� ��Ҳ��ζ�������۵��ٶȷdz�֮�졣
��������� PI �ϳ��� Docker �� Swarm����鿴����Ľ̳̣�Docker Swarm on the PI Zero��http://blog.alexellis.io/dockerswarm-pizero/��
ԭʼ��վ��whereismypizero.com
�ҷ���һ����ҳ����ʹ����Ļץȡ���ҳ� 4-5 �����ܻ�ӭ���ۿ������Ƿ��п�档
��վ������̬ HTML ��ҳ
��ÿ���ۿ����귢��һ�� XMLHttpRequest ���� /public/api/
��������ÿ�����귢�� HTTP ����ִ��ץ��
ÿһ�ζ� /public/api/ �ĵ��ã���ִ�л� 3 ���ӣ���ʹ�� Apache Bench��ab������ÿ��ֻ����� 0.25 ������
���·�������
�������ƺ��������� whereismypizero.com ץȡ���ǵ���վ����Ʒ�����Ϣ�������ҿ�ʼ��ͷдһ�����ƵĹ��ߡ� �ҳ���ͨ������ͽ��� web �������������ץȡ���� Redis ��ִ����������������ߡ� ������������һ���Զ����ڵļ�/ֵ�ԣ���һ���Ļ��棩��������ͨ�� pub/sub �� Node.js ����֮�䴫����Ϣ��
���̻����ٷ��� github �ϵĴ���: alexellis/pizerostock��https://github.com/alexellis/pi_zero_stock��
���֮ǰʹ�ù� Node.js����϶�֪�����ǵ��̵߳ģ������κ� CPU �ܼ������������ HTML �� JSON �����ܵ����ٶȷŻ���һ�ֻ�����������ķ�����ʹ��һ���������̺� Redis ��Ϣͨ����Ϊ���� web ��֮���������֯��
Web ��
ʹ�� 200 �����������У����̵�� Redis �����ڣ�
ʹ�� 202 �������ٻ���δ���У����̵�� Redis �������ڣ���˷�����Ϣ��
��Ϊ����ֻ�Ƕ�һ�� Redis ������Ӧʱ��dz��졣
���ץȡ��
ִ�� HTTP ����
�����ڲ�ͬ���͵�������ץ��
���� Redis ���Ļ���ʧЧʱ��Ϊ 60 ��
���⣬����һ�� Redis �����Է�ֹ���������� HTTP ����
version: "2.0"
services:
web:
build: ./web/
ports:
- "3000:3000"
stock_fetch:
build: ./stock_fetch/
redis:
image: redis
����ʾ���� docker-compose.yml �ļ�
һ�������������������� Azure �� Ubuntu 16.04 �����Ʋ�����ᳵ��·��ֻ���˲��� 5 ���ӡ� �ҵ�¼����¡�ֿⲢ����docker compose up -d�� ��������еĹ��� - ����ʵ������ϵͳ��ԭ�Ͳ�����⼸��������ࡣ �κ��ˣ����� whereismypizero.com �������ߣ�ֻ����������Ϳ��Բ����½��������
$ git clone https://github.com/alexellis/pi_zero_stock
$ docker-compose up -d
������վ�����ף�ֻ��Ҫһ��git pull���Ȼ��ִ��docker-compose up -d�����������Ҫ����--build������
�������Ȼ�ֶ�������� Docker ���������Լ���ʹ�������ҵĴ��볢�� Docker Compose��
���̻������� github �ϵĴ��룺alexellis/pizerostock��https://github.com/alexellis/pi_zero_stock��
һ�ò�����վ����
Ŀǰ������վʹ�� docker-compose ����stockalert.alexellis.io��http://stockalert.alexellis.io/��

�������ø��µ�ַ��//m.ajphoenix.com/linux/25831.html