知识卡片
转换层模式实现遗留框架零改造迁移
内容
把一个完整的遗留Web框架(Django、PHP的Zblog)搬到FaaS上,不需要改写框架内部一行业务代码, 只需要在FaaS的handler和框架原本的请求入口协议之间加一层薄薄的”转换层”:Django项目把FaaS的 handler直接指向框架自带的WSGI application对象;PHP项目则写一个handler函数,把FaaS传入的request 转成CGI参数转发给php-cgi进程处理,静态文件请求则直接从NAS挂载路径读取返回。两个语言、两个框架 用的是同一套思路——FaaS只是换了一层”进程如何被拉起、请求如何被喂进来”的外壳,只要转换层能把这层 协议差异吸收掉,框架内部原有的路由、ORM、模板渲染等逻辑完全不用动。发散:这是适配器模式在 基础设施迁移场景的应用——把”迁移成本”集中转移到一层薄适配代码上,而不是摊到整个遗留系统里, 是迁移遗留系统到新运行时的通用降本思路。
参考来源
《Serverless工程实践:从入门到进阶》第11章《Serverless工程化项目实践》