خدمة بسيطة وقابلة للتكوين يمكن استخدامها ، على سبيل المثال ، لاختبار إعدادات تزامن الحاويات (بما في ذلك نقطة نهاية الفحص الصحية).
لاحظ أن إصدارات simpleservice
، مثل 0.4.0
، المستخدمة في ما يلي تشير إلى العلامات المستخدمة في صور Docker المعنية التي تم إنشاؤها. لا توجد علامات أو إصدارات على هذا النحو في هذا Github Repo.
محتويات:
بالإضافة إلى نقاط النهاية المدرجة هنا ، راجع أيضًا تغيير قسم سلوك وقت التشغيل أدناه.
/env
[0.5.0+]الرد المبدئي:
HTTP/1.1 200 OK
$HEADER_FIELDS
{
"env": "$DUMP_OF_ENVIRONMENT_VARS",
"version": "$VERSION"
}
استجابة مثال:
HTTP/1.1 200 OK [5/99]
Content-Length: 2471
Content-Type: application/json
Date: Mon, 24 Apr 2017 12:38:47 GMT
Etag: "5ccb76cf1545f01fd1e0df4257ff6f8da19678e9"
Server: TornadoServer/4.3
{
"env": "{'USER': 'mhausenblas', ...}"
"version": "0.5.0"
}
/info
[0.5.0+]الرد المبدئي:
HTTP/1.1 200 OK
$HEADER_FIELDS
{
"from": "$REMOTE_IP",
"host": ""$HOST:$PORT"",
"version": "$VERSION"
}
استجابة مثال:
HTTP/1.1 200 OK
Content-Length: 67
Content-Type: application/json
Date: Mon, 24 Apr 2017 12:36:37 GMT
Etag: "9d09b0a126f68a0fddfec0f494e56fcab29eac15"
Server: TornadoServer/4.3
{
"from": "127.0.0.1",
"host": "localhost:9876",
"version": "0.5.0"
}
/health
[0.4.0+]الرد المبدئي:
HTTP/1.1 200 OK
$HEADER_FIELDS
{
"healthy": true
}
استجابة مثال:
HTTP/1.1 200 OK
Content-Length: 17
Content-Type: application/json
Date: Tue, 11 Oct 2016 17:17:21 GMT
Etag: "b40026a9bea9f5096f4ef55d3d23d6730139ff5e"
Server: TornadoServer/4.3
{
"healthy": true
}
/endpoint0
[0.3.0+]الرد المبدئي:
HTTP/1.1 200 OK
$HEADER_FIELDS
{
"host": "$HOST:$PORT",
"result": "all is well",
"version": "$VERSION"
}
استجابة مثال:
HTTP/1.1 200 OK
Content-Length: 71
Content-Type: application/json
Date: Tue, 11 Oct 2016 16:57:33 GMT
Etag: "ce18606c019e1d8c584b796d1fe7402d9767b9b6"
Server: TornadoServer/4.3
{
"host": "localhost:9876",
"result": "all is well",
"version": "0.4.0"
}
للتنفيذ المحلي ، مطلوب Python 2.7.9
. يمكنك بعد ذلك تشغيل simpleservice
مثل:
# with defaults:
$ python simpleservice.py
# overwriting certain runtime settings:
$ HEALTH_MAX=200 VERSION=1.0 python simpleservice.py
إذا كنت تتخيله ، فيمكنك تشغيل إصدار الحاوية من simpleservice
على جهازك المحلي (يتطلب تثبيت Docker):
$ docker run -P mhausenblas/simpleservice:0.5.0
انظر أيضا صور الحاوية.
من خلال تحديد متغيرات البيئة التالية ، يمكنك تغيير سلوك وقت التشغيل لـ simpleservice
:
PORT0
... يعمل Port simpleservice
VERSION
... قيمة version
الذي تم إرجاعه في استجابة JSON لنقطة النهاية /endpoint0
HEALTH_MIN
و HEALTH_MAX
... Min. وماكس. التأخير في المللي ثانية التي تستجيب لها /health
بمجرد بدء تشغيل simpleservice
، يمكنك استدعاءها مثل ذلك (إليك تنفيذ خدمة محلي معروضة):
$ http localhost:9876/endpoint0
HTTP/1.1 200 OK
Content-Length: 71
Content-Type: application/json
Date: Tue, 11 Oct 2016 16:57:33 GMT
Etag: "ce18606c019e1d8c584b796d1fe7402d9767b9b6"
Server: TornadoServer/4.3
{
"host": "localhost:9876",
"result": "all is well",
"version": "0.4.0"
}
وسوف تظهر سجلات الخدمة شيئًا مثل:
~$ python simpleservice.py
This is a simple service in version v0.4.0 listening on port 9876
2016-10-11T05:57:33 INFO /endpoint0 serving from localhost:9876 has been invoked from 127.0.0.1 [at line 58]
2016-10-11T05:57:33 INFO 200 GET /endpoint0 (127.0.0.1) 1.10ms [at line 1946]
لاحظ أن نقاط النهاية المتاحة تعتمد على إصدار simpleservice
على النحو المحدد في القسم الأول من مستندات هذا (AKA API).