云计算的优点真的不用再多讲,但就没缺点了吗?当然有。

比如,我最近在使用Netlify Identity,这个服务的一个最大的有点非常OK的,但缺点也很明显嘛,因为有一个在localStorage里,有一个key/value键值对,key是gotrue.user,value是一个多层嵌套的json字符串,那么由于多层嵌套,一不小心就会报错,比如忘记序列化、忘记把字符串再解析为json等。

更重要的是,这条key/value记录,CRUD等操作都是由Netlify Identity Widget来操作,这就违背了store的一个重要理念:single source of truth。那么这怎么办?

其实也好办,就是把这个key/value字符串里的东西给提取出来,单独弄一份user或者userprofile,然后由vuex对这个state进行管理。

这样做的优点,是整个user state都是由vuex来接管,完全和Netlify Identity Widget创建的localStorage记录独立起来,不会互相干扰,避免造成混乱。还有一个优点是,万一将来要换成其他的oauth服务,整个state不用改代码,完全不受影响。

具体代码看这里:https://github.com/whizjs/netlify-identity-demo-vue

总之,云计算的缺点在于:

  • 局限于云服务商的能力、服务水平、提供的工具、售后支持服务
  • 价格,当规模足够大的时候,云计算就不划算了(但那个时候,自建已经不是问题了)
  • 文档

所以你必须具有能够接入并改造云服务的能力,更好的和自身业务契合在一起。

标签: Netlify Identity Widget

添加新评论