space cloud 功能上相当于Firebase + Heroku
space cloud 是什么
space cloud对于数据库和现有的微服务提供了graphql 和REST api,这样就可以直接在前端通过api对数据库进行直接增删改查
![]()
Aim:
- 在多数用例下消除需要写后端代码的情况(不需要后端,前端直接通过
space cloud操作数据库) - 对于高级用例来说,提供更加简单的方式写事件驱动的微服务
- 授权认证单独一层
install
对于生产环境安装的前提是有个kubernetes集群,在此基础上依次安装istio 和 space cloud
QAS
关于现有微服务REST 直接转 graphql
文档上说不需要更改现有微服务的代码,但是由于REST 并没有 graphql那种自省功能(introspection), 所以说对于每一个服务伤的每一个接口,如需转换成graphql,则需要在space cloud后台重复添加endpoint, 这个过程是一个很麻烦的过程;就算成功转成graphql, 目前并没有看到graphql schema, 这也就是说前端如果用typescript的话,便不能使用introspection功能自动成typescript 类型
关于数据库
space cloud 目前支持MongoDB, PostgreSQL, MySQL, SQL Server, 可以创建任意数量的数据库,不限制数据库类型,数据库建表需要在space cloud后台添加table, 使用的语法是GraphQL Schema Definition Language (SDL)
summary
space cloud 并不限制你后端用什么技术框架(尽可能的取消后端,大部分场景都不要后端代码, 前端直接操作数据库并不是写sql语句), 这是一个处于正在开发中的项目,尽管大部分情况下只需要在后台界面上点点,还是有很高的学习成本
