发布时做了什么(标准Tomcat服务为例)
- 验证项目名与Tag名, 避免发布错误的项目代码
- 上传项目包到指定服务器, 并验证完整性
- 将此服务器从线上移除(会先关闭新请求并尝试等待现有服务完成, 但有超时限制并非无限等待)
- 备份上一版本后将其移除并替换为新版本的代码
- 启动Tomcat 并监控心跳检查页面, 待心跳页面可正常访问后接入生产流量.
统一接入前端
统一接入前端,所有外网请求和访问的统计接入层,是7层应用,位于4层负载后面,主要功能有:
- 负载均衡,多种负载均衡算法,例如:轮询(RR)、权重(weight)、会话保持(session sticky)、哈希算法(IP hash)、最小链接数;
- 转发规则,多种转发规则,根据uri、user agent、域名、请求IP地址、cookie内容等方面进行转发
- IP 黑白名单, 根据特定IP 对访问进行限制
- 流量拦截,通过uri、ip等维度对访问进行访问频次的限制,可以防CC以及整体服务的限流
- 流量切换,分中心进行流量切换,根据uri对服务进行降级处理
- 动态后端负载机器热变更,动态的变更后端负载机器,热生效
- 流量镜像,支持流量镜像,针对线上的流量进行流量复制
- 灰度发布,支持AB发布,支持不同线上版本的发布,使用header头,加不同的header头转发给后端,区分是A还是B服务
- 后端服务健康检查,根据定义的健康检查页面,定时探测后端服务的健康状态,识别是否存活后,自动踢负载、加入负载
- 配置版本控制,配置版本,便于回滚和发布
- 与软waf的结合,实现安全拦截
- 支持http和https 服务,支持websocket