当前位置: 首页 > news >正文

学校网站建设需求分析调研表石家庄网络公司查封

学校网站建设需求分析调研表,石家庄网络公司查封,承德企业网站建设公司,蜀icp备 网站建设中企动力成都背景介绍 在现代互联网应用开发中#xff0c;灰度发布#xff08;又称金丝雀发布#xff09;是一种非常重要的部署策略。它允许我们将新版本服务逐步推送给部分用户#xff0c;而不是一次性全量发布#xff0c;从而降低风险并快速获得用户反馈。本文将分享一个实际的灰度…背景介绍 在现代互联网应用开发中灰度发布又称金丝雀发布是一种非常重要的部署策略。它允许我们将新版本服务逐步推送给部分用户而不是一次性全量发布从而降低风险并快速获得用户反馈。本文将分享一个实际的灰度环境部署案例涉及两个服务fbdm和grayfbdm共享同一数据库但运行不同代码的场景。 **目前场景**用于线上功能和需求验证防止全量上线验证出问题减少回滚的概率。 某业务系统中存在两个核心后端服务 fbdm正式服务面向所有用户grayfbdm灰度服务仅对测试或特定用户开放。 两者数据库一致配置相同仅代码版本不同。灰度发布前必须先完成数据库字段变更以保证向前兼容。 前端页面通过不同的访问地址与 Header 标签来区分灰度与正式流量。 访问角色访问域名Header 特征Nginx 路由目标测试用户gray.example.comappenvgraygrayfbdm正式用户prod.example.com无灰度标签fbdm 灰度环境请求需满足下列任一条件即可命中 grayfbdm 请求 Header 包含 appenvgrayURL 参数中包含 appEnvgray 或灰度域名作为 returnUrlOrigin 为灰度域名。 系统架构概述 基本系统包含以下关键组件 两个后端服务 fbdm生产环境服务grayfbdm灰度环境服务 共享数据库两个服务使用相同的数据库实例前端H5应用能够通过header标识请求来源Nginx反向代理负责根据规则将请求路由到不同的后端服务 核心设计原理 1. 数据库共享策略 由于两个服务使用相同的数据库在灰度发布过程中需要特别注意 数据库变更先行任何涉及数据库结构的变更必须先于服务部署执行代码兼容性新版本代码必须能够兼容旧版本的数据结构数据一致性确保灰度环境和生产环境不会因为数据操作相互干扰 2. 流量分流机制 Nginx作为流量入口根据多种条件将请求路由到不同的后端 # 上游服务定义 upstream fbdm {server 10.0.0.1:8081 fail_timeout5 max_fails2;server 10.0.0.2:8081 fail_timeout5 max_fails2;keepalive 2000; }upstream grayfbdm {server 10.0.1.1:8081 fail_timeout5 max_fails2;keepalive 2000; } 3. 路由判断条件 Nginx通过以下条件判断是否将请求路由到灰度环境 HTTP Header检查appenvgrayURL参数检查returnUrl或appEnv参数Origin Header检查请求来源是否为灰度域名 set $target http://fbdm; if ($http_appEnv gray ) {set $target http://grayfbdm; } if ($arg_returnUrl ~* ^https?%3A%2F%2Fmfbdgray\.xxxxx\.com ) {set $target http://grayfbdm; } if ($arg_appEnv ~* ^gray ) {set $target http://grayfbdm; } if ($http_origin ~* https?://mfbdgray\.xxxxx\.com ) {set $target http://grayfbdm; }4.完整Nginx配置 # 定义 upstream正式服务 灰度服务 upstream fbdm {server 10.0.0.1:8081 fail_timeout5 max_fails2;server 10.0.0.2:8081 fail_timeout5 max_fails2;keepalive 2000; } upstream grayfbdm {server 10.0.1.1:8081 fail_timeout5 max_fails2;keepalive 2000; }# 80 端口跳转到 HTTPS server {listen 80;server_name prod.example.com;location / {rewrite ^/(.*)$ https://$host/$1 permanent;} }# 443 HTTPS 端口配置灰度智能路由 server {listen 443 ssl;server_name prod.example.com;ssl_certificate /path/to/cert.pem;ssl_certificate_key /path/to/key.pem;include ssl.conf;location / {set $target http://fbdm;# 灰度判断逻辑if ($http_appEnv gray) {set $target http://grayfbdm;}if ($arg_returnUrl ~* ^https?%3A%2F%2Fgray\.example\.com) {set $target http://grayfbdm;}if ($arg_appEnv ~* ^gray) {set $target http://grayfbdm;}if ($http_origin ~* https?://gray\.example\.com) {set $target http://grayfbdm;}proxy_pass $target;include https_proxy.conf;proxy_next_upstream error timeout invalid_header http_403 http_404 http_500 http_502 http_503 http_504;# 黑名单控制引用外部白名单/黑名单配置include /opt/nginx/conf/whitelist/login.conf;}# 登录、发送验证码等接口灰度策略保持一致location ~* ^(/api/auth/sendCode|/api/user/login|/api/user/checkMobile)$ {set $target http://fbdm;if ($http_appEnv gray) {set $target http://grayfbdm;}if ($arg_returnUrl ~* ^https?%3A%2F%2Fgray\.example\.com) {set $target http://grayfbdm;}if ($arg_appEnv ~* ^gray) {set $target http://grayfbdm;}if ($http_origin ~* https?://gray\.example\.com) {set $target http://grayfbdm;}proxy_pass $target;include https_proxy.conf;proxy_next_upstream error timeout invalid_header http_403 http_404 http_500 http_502 http_503 http_504;# 黑名单控制include /opt/nginx/conf/whitelist/mesg.conf;include /opt/nginx/conf/whitelist/login.conf;allow all;} } 灵活灰度判断通过 Header、Query 参数与 Origin 三层判断方式确保请求正确识别接口隔离保护关键接口如登录与验证码单独配置防止因路由失误导致异常白名单机制通过 include 引用外部配置统一黑白名单管理自动 HTTPS 跳转防止未加密请求造成信息泄露。 成功案例 在一次重大架构升级中灰度发布机制帮助我们 提前发现代码的bug测试人员多轮验证未影响正常用户可以任何时间段发版让测试人员测试提升工作效率和速度 后续实践 版本兼容性确保灰度版本代码能够回滚避免因数据库变更导致生产环境不可用监控与日志为灰度环境设置独立的监控和日志收集便于问题排查流量比例控制可以通过Nginx配置实现按比例的灰度发布自动化测试灰度环境应配备完整的自动化测试套件用户标识策略除了测试人员可以考虑基于用户ID、设备ID等进行灰度分流
http://www.hkea.cn/news/14560708/

相关文章:

  • 卡片式设计网站图库素材网站模板
  • 自己建设网站用哪个黄山网站设计
  • 营销网站首页设计创建商城app
  • 局域网如何建网站怎样用php做网站
  • 网站模板批量下载php网站开发优化
  • 观山湖制作网站做综合类网站好不好
  • 网站建设论文html格式wordpress的页脚模板修改就出错
  • 成熟网站开发单位国际军事新闻最新消息
  • 建立网站心得商务网站建设教学视频
  • 推广网站建设产品介绍wordpress美文主题
  • 兰州网站排名公司phpstorm做网站
  • 怎样选择网站建设做出口贸易用什么平台
  • 网站建设设计书任务书wordpress清理网站缓存
  • 大兴网站开发网站建设价格网站开发服务费计入哪个科目
  • 制作自己的网站需要什么软件好wordpress上下篇
  • 有个专门做gif的网站上海传媒公司介绍
  • 网站开发研究总结一级消防工程师考试资料
  • 网站打开太慢什么原因android最新版本
  • 购物类网站首页效果图六盘水做网站
  • 常德制作网站wordpress一键部署
  • 网站建设哪福建省幕墙建设网站要报备吗
  • 网站开发培训费多少钱直通车代运营
  • 网站忘了怎么办啊杭州工业设计
  • 网页设计与制作心得体会1500字页面关键词优化
  • 网站SEO做点提升流量象客美容网站设计
  • 网站备案多久可以注销公共资源交易信息平台
  • 男科医院网站建设wordpress页面居中
  • 一款非常不错的seo网站优化公司源码高端网站建设价格
  • 用php做网站的方法网站建设的公司系统规划
  • 河南省住房和城乡建设局网站企业文化墙素材图片