What happens?
因为应用要run在容器之中,所以希望用单进程模型运行。
启动single mode,但是没有端口可以访问服务。
const egg = require('egg');
egg.start();
Mini Showcase Repository(REQUIRED)
https://github.com/wanqiuz/single-mode-egg
Context
- Node Version: 10.16.0
- Egg Version: 2.25.0
- Plugin Name:
- Plugin Version:
- Platform: Linux
6条答案
按热度按时间raogr8fs1#
`翻了一下egg和egg-core的代码,没找到启动server监听端口的代码,记得启动服务监听端口是egg-cluster实现的,直接egg.start()的话好像就是简单地实例化了一个application,话说我有点好奇为什么应用run在容器里面,所以就希望用单进程模型运行。
rnmwe5a22#
`翻了一下egg和egg-core的代码,没找到启动server监听端口的代码,记得启动服务监听端口是egg-cluster实现的,直接egg.start()的话好像就是简单地实例化了一个application,话说我有点好奇为什么应用run在容器里面,所以就希望用单进程模型运行。
查过端口号了,直接egg.start()的话确实不会监听端口。所以阅读代码后,直接用Application创建服务并监听端口了。
不好意思,可能没有讲清楚。因为我们的应用是在k8s环境中运行,所以诸如利用多核处理器,负载均衡,健康检查,失败重启都被sidecar的组件给取代了。而且其他schedule job之类的也可以用k8s原生的功能去做。所以希望使用的框架尽可能轻量化。
f87krz0w3#
是的,这块比较粗糙,现在需要自己来启动,k8s 里面如果作为一号进程就不需要 egg-cluster 这样的守护进程了。
odopli944#
`翻了一下egg和egg-core的代码,没找到启动server监听端口的代码,记得启动服务监听端口是egg-cluster实现的,直接egg.start()的话好像就是简单地实例化了一个application,话说我有点好奇为什么应用run在容器里面,所以就希望用单进程模型运行。
查过端口号了,直接egg.start()的话确实不会监听端口。所以阅读代码后,直接用Application创建服务并监听端口了。
不好意思,可能没有讲清楚。因为我们的应用是在k8s环境中运行,所以诸如利用多核处理器,负载均衡,健康检查,失败重启都被sidecar的组件给取代了。而且其他schedule job之类的也可以用k8s原生的功能去做。所以希望使用的框架尽可能轻量化。
@wanqiuz 请问你最后是如何实现监听的?
vqlkdk9b5#
`翻了一下egg和egg-core的代码,没找到启动server监听端口的代码,记得启动服务监听端口是egg-cluster实现的,直接egg.start()的话好像就是简单地实例化了一个application,话说我有点好奇为什么应用run在容器里面,所以就希望用单进程模型运行。
查过端口号了,直接egg.start()的话确实不会监听端口。所以阅读代码后,直接用Application创建服务并监听端口了。
不好意思,可能没有讲清楚。因为我们的应用是在k8s环境中运行,所以诸如利用多核处理器,负载均衡,健康检查,失败重启都被sidecar的组件给取代了。而且其他schedule job之类的也可以用k8s原生的功能去做。所以希望使用的框架尽可能轻量化。
@wanqiuz 请问你最后是如何实现监听的?
@zjy01 下面这样子的(省去了一些)
v64noz0r6#
关键参考: https://cloud.tencent.com/document/product/583/37278
这里记录一下阿里云Severless(CustomRuntime) + Nas的调用方式:
boostrap(需要可执行权限)
index.js