微服务的很多思想,Serverless可以借鉴

时间:2022-11-21 11:25:38

微服务的很多思想,Serverless可以借鉴

坚持原创,写好每一篇文章

微服务是老生常谈的话题,微服务架构也是当前最流行的一种架构模式,微服务的内容包括容错机制,容灾机制,安全验证鉴权,监控,自动扩缩容,日志链路跟踪,多版本控制,灰度,CICD这些快速迭代的手段和容错能力,API,服务注册,服务发现。微服务的内容比较多,知识点比较多,很多知识点是我们必须要掌握的。

拆分

在进行微服务拆分的时候,我们要注意服务之间的联系,如果服务之间联系过于紧密,也不需要拆分,也就是说要注意拆分的粒度。如果两个联系紧密的微服务模块进行拆分的话,频繁的进行网络调用还不如不进行拆分,减少网络调用。Serverless在进行无状态节点演进的时候微服务的这些思想也进行了借鉴。Serverless的工作流将各个模块之间进行了关联。

Faas的网络鉴权

对于Faas的网络鉴权问题,微服务的jwt鉴权模式是我们可以使用的,jwt最大的特点就是保证了无状态登录,它的流程是有鉴权服务来给客户端返回jwt,客户端携带jwt访问各种api,jwt携带的信息在服务端进行验证解析,验证通过表示可以访问API。云服务商也给我们做了保证,比如阿里云的IAM

代码的迭代流程

对于代码的迭代流程,Serverless和其他软件开发上线的流程是一样的,开发者将代码合并到dev分支后,git钩子函数触发流水线,进行构建打包工作,然后我们进行测试。测试人员对各种测试情况进行,使用流量回放验证功能(这是自动化测试的内容了),然后发布灰度环境,让生产中的部分流量流入新版本的代码,没问题后发布到正式的环境。如果灰度版本出现问题就丢弃这个灰度版本。

总结

这篇文章我们从微服务的特点,包括网络鉴权和代码迭代流程等方面做出了介绍,这些功能对Serverless来说同样适用,架构在演进的过程中有很多相似之处,掌握思想很重要,有时候就是一通百通。

❤️ 感谢大家

如果你觉得这篇内容对你挺有有帮助的话:

  1. 欢迎关注我❤️,点赞????????,评论????,转发????
  2. 关注盼盼小课堂,定期为你推送好文,还有群聊不定期抽奖活动,可以畅所欲言,与大神们一起交流,一起学习。
  3. 有不当之处欢迎批评指正。