可执行程序的路径
调度器为了解决机器上应用app的版本问题,会把 app的目录做一个软链接,把真正的目录放在其它地方, 如:
[admin@worker]
$ pwd
/home/admin/workers/apps/biz_online
$ ll
drwxr-xr-x 4 admin admin 4096 Aug 1 15:17 ./
drwxr-xr-x 35 admin admin 12288 Aug 1 15:23 ../
lrwxrwxrwx 1 admin admin 119 Aug 1 09:51 binary -> /home/admin/workers/package_caches/3066626c5e6c7b064340350f2e0e4b550d524e00/root/
$ ll binary/
-rw-r--r-- 1 admin admin 210 May 7 14:29 conf.json
-rwxr-xr-x 1 admin admin 15954180 May 7 14:29 app_server*
这样应用 biz_online 每次版本更新都会放在一个uuid的目录下,可以做到快速回滚和选择版本快速启动
但在调查问题的时候,很难从 pid 对应的bin 找到对应的app 是哪个 , 如:
$ ll /proc/43631/exe
lrwxrwxrwx 1 admin admin 0 Aug 1 12:51 /proc/43631/exe -> /home/admin/workers/package_caches/3066626c5e6c7b064340350f2e0e4b550d524e00/root/app_server*
可能更好的设计是在packages_caches/下增加app的目录,
workers
+---- package_caches/
| +---- biz_online/
| +---- timestamp_1/
| +---- bin
| +---- timestamp_2/
+---- apps/
+---- biz_online/
+---- binary --> workers/package_caches/biz_online/timestamp_2
+---- stdout.log