背景
![4204aecca7bf185801de0896b8054975.png](https://i-blog.csdnimg.cn/blog_migrate/ad4019d058865f2b30db315dcda90a67.jpeg)
我们项目开始使用了微服务springcloud alibaba,每个服务都有多个实例,刚开始用脚本手动部署,实在是麻烦。
后来决定上k8s来解决此问题,k8s是什么我这里就不展开说了。我这里主要说怎么用k8s来解决部署的问题的。
springcloud里面的概念k8s里大部分都有可以替换的方案了,比如配置中心,注册中心,客户端调用服务的时候负载均衡等。
痛点:
如果在springcloud的项目中,配置中心,注册中心等都去用k8s的,那实际工作对于我们会有一些问题
- 开始过程中调试问题,因为用了k8s,服务与服务之间的调用都依赖了k8s,所以如果开发者想自己在本地测试,那么必须自己在本地搭建k8s环境来进行相关的测试。给开发者带来了不方便。
- 用了k8s后,springcloud里面的网关就没法用了,k8s的ingress跟springcloud里面的网关比功能还是弱,springcloud里面的网关是可以自己写代码实现相关功能的,比如统一鉴权,统一日志,统一加解密等,k8s的ingress只是数据流量的入口,实现不了这些功能。
- springcloud alibaba有个组件sentinel