Skip to content
This repository has been archived by the owner on Dec 8, 2023. It is now read-only.

有了这个库,是不是理论上可以把一个项目都写在一个云函数里呢? #11

Open
zhongshankaka opened this issue Feb 5, 2020 · 4 comments

Comments

@zhongshankaka
Copy link

现在我这边在小程序云开发中遇到的一些问题:

  1. 每个云函数相互隔离,那么公共代码怎么上传(目前发现只能都复制一遍,放在每个云函数根目录下)?
  2. 如果使用mysql数据库,云函数(A1 A2 A3)对应数据库Model层的代码(B1 B2 B3)放在各自对应的云函数根目录下,那么云函数之间怎么去相互调用对方的Model层代码?

发现这个库可以解决这些问题,就是把整个项目写在一个云函数里(或者把相互关联的代码写在一个云函数),但是会不会有什么问题呢?望回复,谢谢。

@flytam
Copy link
Collaborator

flytam commented Mar 6, 2020

@yhsunshining

@Mayandev
Copy link

现在我这边在小程序云开发中遇到的一些问题:

  1. 每个云函数相互隔离,那么公共代码怎么上传(目前发现只能都复制一遍,放在每个云函数根目录下)?
  2. 如果使用mysql数据库,云函数(A1 A2 A3)对应数据库Model层的代码(B1 B2 B3)放在各自对应的云函数根目录下,那么云函数之间怎么去相互调用对方的Model层代码?

发现这个库可以解决这些问题,就是把整个项目写在一个云函数里(或者把相互关联的代码写在一个云函数),但是会不会有什么问题呢?望回复,谢谢。

  • 通常情况下,我们不建议大家使用一个云函数来调用其他云函数这种做法,这种做法会导致云函数的执行时间会增加很多,而且还会耗费云函数的资源,我们可以使用tcb-router来处理需要跨云函数调用的情况;
  • 值得注意的是,tcb-router会把所有云函数的承载放在一个云函数里,对并发有比较高要求的云函数建议不要把用tcb-router整到一个里面。每个云函数的并发数上限为1000,这本可以每秒处理十万级别的请求,但是如果把大量不同的云函数都集成到一个里面,尤其是一些耗时比较长的云函数会严重拖性能后退,而这些云函数都会共享这1000个并发,所以要注意根据情况来抉择了;
  • 云函数会有一个冷启动时间(比如十分钟以上没人调用这个云函数,当再首次调用这个云函数会比较慢),当我们把多个功能相似、并发不会特别高(低于每秒几千)的云函数使用tcb-router集成到一个云函数里,这样就可以减少冷启动的可能性了;

以上来自于官方云函数文档

@Huansheng1
Copy link

tcb和if有什么明显优势么,刚接触tcb好奇问一下,虽然这问题可能有点无知

@zhouted
Copy link

zhouted commented Apr 21, 2021

用这个tcb-router怎么感觉还不如用switch呢……是我没理解吗?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants