【揭秘】腾讯云首发无服务器云函数的关键技术
比如平台内部Invoker模块实例硬件故障时,如下图所示,由于invoker模块无状态,,故障时可由接入层CLB模块自动剔除,剔除后新请求分发至剩余invoker模块实例,已接收的异步事件可由其它invoker重试完成,同步http调用会直接返回给用户错误请求,由用户重试,在故障invoker实例恢复后,自动添加至CLB中,继续分担负载。 当平台需要升级API接口时,采用只增不改策略,提供新版本API接口,保持用户原有服务兼容性,用户采用新接口时,CLB通过7层路由,路由至新版本invoker模块实例,旧版本实例随着负载的降低逐步缩容,新版本实例随着负载升高逐步扩容,以此实现了用户透明的版本平滑升级。 要实现云函数需与各类云组件打通,需要云组件提供事件注册及回调机制,云组件提供可注册事件及对应的回调接口,云函数确保云组件通信的用户权限打通传递。当前云函数实现了与腾讯云COS存储组件的打通,马上将实现与腾讯云CMQ、云监控等其它云产品的打通,并将运行范围扩展至CDN边缘节点,实现边缘计算。 六、支持业务自由运行,且能避免干扰入侵云函数需支持用户本地测试通过的代码无缝在云函数平台,需具备足够的兼容性,及用户函数运行时环境,需要具备和用户开发测试环境类似的软件包,安全等配置;同时避免函数间干扰,防止恶意入侵。 为了避免用户函数间干扰,云函数使用了Docker容器来封装函数实例,通过docker的名字隔离、空间隔离、权限限制等机制实现用户间隔离,辅以实时冲突监控调度等措施及时处理干扰。 为了避免用户执行代码影响整个云函数平台,如下图所示,实现了云函数管理平台与用户函数的隔离,用户函数无法感知管理平台的网络地址,运行日志等信息,从而无从影响云函数平台的运行。 (编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |