码小螈技术架构揭秘
微服务架构底座
码小螈开发平台基于docker微服务架构,按功能分为登录服务、缓存服务、锁与队列服务、对象存储服务、监控服务(可选)和日志服务(可选)。
开发平台及其开发的app都基于此架构建立。
开发者开发时对这些服务通常是无感的。 例如内置的登录服务,你会发现在我们的系统,不再需要开发用户系统,您只需要专注于应用功能开发。
得益于docker和CNCF云原生技术强大的生态,使用我们系统开发的应用可以与云平台无缝对接 ,并且可以自由组合以适配不同规模的企业需求。
对于大型系统,为保证其稳定性,需要额外的监控服务和日志服务。 我们提供PCNG监控系统安装服务和PLG日志系统安装服务。 但它们对于小型系统来说不是必选项目,特别是对于小公司的内部系统来说。 例如,一套PLG日志系统就占了小型服务器很多资源(最小硬件配置2核4G,另外一套ELK最小硬件配置4核8G),而我们的私有化APP最小配置才2核1G, 对于预算小的公司,我们直接使用docker logs [container id]查看日志。 对于中型企业通常倾向于买云平台的监控和日志服务,因为会比买服务器便宜,因此我们默认不安装它们,除非你需要。 当然对于仅内网访问的机器,还是可以配监控和日志的,毕竟内存和cpu挺便宜的,当前服务器最贵的还是公网的带宽/下行流量。
某些配置可以自定义。例如:对象存储,可以不用默认的minio。通过配置使用阿里云、腾讯云等提供的对象存储服务。
应用层底座
开发平台包括以下核心模块:数据引擎、功能流程引擎、菜单路由模块、接口模块; 辅助模块:权限管理模块、文件模块、多语言(国际化)模块、AI模块; 以及扩展模块:图表引擎、状态机模块、打印模块、审批流模块、定时任务模块、页面引擎。
这些模块组成了应用开发和运行的底座,让你快速组合填单系统、管理后台、to c界面和对外接口。
另外,我们提供应用模板、模块模板和AI辅助,助你更快捷的搭建项目。
关于技术选型
作为涵盖无代码和低代码的平台,我们希望尽量降低编程的难度。 另外,企业大部分的业务基本是I/O密集型任务,大部分时间是等待I/O,语言执行效率差别对等待时间影响不大。 因此我们选择前后端都使用JavaScript作为应用开发的语言。 这样就减少了语言学习的数量。 前端选择了vue2作为前端框架,一个原因是国内vue开发者更多(方便招聘人才),另外也更容易入门(方便其它职位入门)。 vue3新语法实际很多参考了react,虽然更灵活,但对开发者要求更高。 后端框架使用nestjs。
对于CPU密集型任务,我们建议是用C、C++写, 要么编译为node模块或wasm模块(我们私有化支持自定义三方模块), 要么写成服务,让开发对接。
另外,我们为了租户隔离和安全,以防用户数据窃取,后端默认不提供文件读写接口,文件系统都基于对象存储。 需要文件系统的请私有化后引入三方模块即可。
总结
码小螈的技术架构旨在提高开发效率和适应各种企业需求。通过微服务架构和应用层底座,开发者可以快速搭建应用,同时技术选型和数据安全措施也得到了考虑,为企业提供了稳定、灵活的开发平台。
欢迎前往码小螈官网直接体验一下HpaPaas开发平台的魅力吧!