项目背景:
因公司业务转移至线上商城,为应对每月活动,对业务要求及时性高,被要求不间断发布与测试。并且防止商城秒杀等页面被恶意攻击。
项目实施:
技术选项:istio,flagger,kubernetes (自建),jekines,nacos
实施:
istio 自身也可以做灰度发布,主要基于他本身的 IngressRoute 的路由规则,但针对流量转移,自动回滚,部署这些是人为操作;故而找到开源的 flagger 进行流量灰度的渐进式交付,使用 Prometheus 监控接口指标判断,进行自动化灰度(金丝雀发布需要研发配合接口改造)发布和回滚.
又因 SpringColoud 微服务注册到 nacos,nacos 服务注册调用的默认方式是轮询,故和研发沟通新增类似健康检查的接口作为下线预警,在 deployment 的时候调用这个接口,实现 nacos 注册的服务权重由1变0,并在30s后下线。
安全方面:
Istio中设置黑白名单、熔断和错误访问限制是提高服务网格安全性和稳定性。
如:黑白名单
黑白名单可以通过Istio的AuthorizationPolicy资源来实现
apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
name: whitelist-policy
namespace: default
spec:
selector:
matchLabels:
app: my-app
action: ALLOW
rules:
- from:
- source:
principals: ["cluster.local/ns/default/sa/my-service-account"]
项目概述: 智能立体仓库是一种先进的仓储管理系统,利用自动
项目经历:医疗系统开发 项目描述: 我参与了设计和开
服务中台文件下载插件:HTTP中台服务器中,用于下载文件的代
服务中台文件下载插件:HTTP中台服务器中,用于下载文件的代
业余时间研究的网络传输加解密算法:采用AES CBC对网络传
本项目是通过Maya内置的Python接口获取场景中的设置和
需求方专属客服,免费梳理匹配
添加客服微信,免费为您安排与该工程师直接沟通
长按二维码添加客服微信
如当前档期不合,也可免费为您推荐相似案例作者