Cloudhub文件存储位置及部署使用相关技术问题咨询
Cloudhub 部署模式相关问题解答
1. Cloudhub上的文件存储在什么位置?
Cloudhub 运行的每个应用 worker 实例都拥有独立的隔离文件系统:
- 临时非持久化存储默认路径为
/tmp,该目录下的文件仅在当前worker运行期间有效,实例重启、扩缩容、迁移后文件会被自动清除 - 应用本身的部署包存放在实例的应用工作目录,该目录仅支持读取操作,不可写入自定义文件
- 如需持久化存储文件,需对接外部对象存储、数据库等服务,Cloudhub 本地不提供持久化文件存储能力
2. 是否可以在Cloudhub上创建中间文件?如果可以,如何定义文件路径?
可以创建临时中间文件,路径统一指定为/tmp目录下的自定义子目录即可,例如/tmp/app-temp/。
注意:该类中间文件不支持跨worker共享,也不支持持久化留存,仅可用于单实例运行过程中的临时数据交换。如果需要长期留存或者跨实例共享的中间文件,必须存储到外部持久化服务中。
3. 当使用SFTP从指定位置拉取文件时,Cloudhub服务器上用于处理的路径应该如何设置?
统一使用/tmp下的专属业务子目录作为临时处理路径,例如/tmp/sftp-process/,拉取的文件先存储到该路径完成业务处理,处理结束后立即删除本地临时文件,避免占用worker的存储配额。
不要使用/根目录、系统目录或者应用部署目录作为文件处理路径,会触发权限报错。
4. 是否支持对Cloudhub服务器执行SSH操作?
不支持。Cloudhub作为全托管PaaS服务,不对外开放底层服务器的远程登录权限(包括SSH、RDP等所有远程操作协议),所有应用运维、配置操作都需要通过Anypoint平台的控制台、开放API或者官方CLI工具执行。
5. 如果需要将调度器的cron定时配置外置,通过配置等方式避免修改代码,设置cron表达式的最佳实践是什么?
优先使用Cloudhub应用外置属性方案,操作路径如下:
- 在Anypoint控制台的应用配置页,新增自定义属性,例如
scheduler.cron.expression,值填写对应的cron表达式 - 应用代码中通过属性占位符直接引用该外置属性绑定到调度器组件
- 后续需要调整定时规则时,直接在控制台修改对应属性值,重启应用即可生效,无需修改代码重新打包部署
如果需要支持无重启动态调整cron规则,可以将表达式存储到Object Store或者外部配置中心,调度器每次触发前先读取最新的表达式值调整执行规则,该方案适合对配置灵活性要求极高的场景。
内容的提问来源于stack exchange,提问作者darshan kamat
相关产品推荐
相关产品推荐

