技能要求:
C++,Lua
经验要求:
5-10年经验
工作描述:
项目编号:【167380】
项目背景
我司正在开发一款游戏,使用了 Skynet 框架(https://github.com/cloudwu/skynet)。现在产线部署时,遇到了连接 MongoDB 失败的问题,原因是产线 MongoDB 使用了 7.0 版本,并且强制打开 TLS(1.2 及以上)。由于业务逻辑代码已经接近完成,不可能动业务代码来绕过去,所以必须直接修改 Skynet 框架,使它支持 TLS,并且支持 TLS 连接、操作 MongoDB 7.0 数据库。
项目需求
修改 Skynet 框架(不需要在原本的开源项目中做提交,只需要 fork 出一个独立的项目,并修改即可),并使得修改后的 Skynet 支持 TLS 1.2+ 连接 MongoDB 7.0 版本,最好同时能支持 mongodb:// 以及 mongodb+srv:// 这两种连接方式。可能涉及到,需要修改的文件如下:
1. lualib/skynet/db/mongo.lua
2. lualib-src/lua-mongo.c
3. test/testmongodb.lua
项目验收
1. 修改后的 Skynet 源码
2. 一份测试文件(最好是直接修改 test/testmongodb.lua),以证明能够以 TLS 1.2+ 正常连接并操作 MongoDB 7.0 版本,并写一个简单的压测函数,生成一些随机数据,验证高并发下仍然能正常工作(避免出现高并发下的数据一致性问题)