首页 > 其他分享 >游戏开发:生产环境部署维护工具链

游戏开发:生产环境部署维护工具链

时间:2024-03-31 21:36:11浏览次数:30  
标签:rsync 机器 游戏 部署 cmd 控机 produce 维护 salt

开发环境(develop):业务开发环境
中控机器(console):管理控制整个线上生产环境机器群
业务机器(produce):承载生产业务进程
数据库机器(database):存盘服务进程

阿里云对象存储服务OSS(https://www.alibabacloud.com/help/zh/oss)

SaltStack(https://github.com/saltstack/salt)
中控机器作为主控端(salt-master)其他机器作为受控节点(salt-minion)

rsync同步资源工具

机器关系
开发环境上传资源包到OSS对象存储桶,中控机器下载获取;
中控机作为salt主控端,负责分发资源和指令,业务机器作为受控节点,接收资源并执行指令;

业务资源包同步方案(upload):
开发环境下加密打包推送到OSS(oss put),包体类型支持整包/补丁包,中控机器下载资源包(oss get),根据包体类型解包更新中控机资源;
支持配置切换OSS域名,支持中断重传、查看操作历史记录等;

线上同步资源方案(sync):
使用类unix系统下的rsync工具,配合salt实现并行分发资源;

for produce in produces :
    cmd = "rsync ..." # 下发rsync命令
    kwarg = { "cmd": cmd }
    jid = salt.cmd_async(tgt=produce.ip, fun="cmd.run", kwarg=kwarg, ...) # 异步执行

#查询执行结果
for produce in produces:
    ret = salt.get_cache_returns(produce_jid)
    print(ret)

btw,如果同步资源的方案是:中控机遍历目标业务机器顺序执行rsync操作,缺点是同步流程中断或者卡顿会影响到后续所有的业务机器。在同步大量数据、网络情况差(业务机器和中控机不一定在相同内网)的场景下,操作超时和中断的明显,工具稳定性差。

存盘服务部署(initdb):这里以mongodb为例
数据库选型以及集群部署模式都跟业务强相关,安装部署流程依据特定产品的文档说明执行,需要整理落地成初始化脚本,由中控机同步到数据库机器执行;
上述是自建数据库的方案,如果是直接使用云上产品(比如阿里云的mongodb数据库产品)则省略这部分。
创建读写用户和只读用户并授权指定库的权限

标签:rsync,机器,游戏,部署,cmd,控机,produce,维护,salt
From: https://www.cnblogs.com/linxx-/p/18107305

相关文章

  • 二进制部署zookeeper集群
    zookeepereks-zk-kafka00110.0.0.41eks-zk-kafka00210.0.0.42eks-zk-kafka00310.0.0.43初始化单机环境#关闭防火墙systemctldisable--nowfirewalldsystemctldisable--nowdnsmasqsystemctldisable--nowNetworkManager#关闭selinuxsetenforce0s......
  • #C1003. 【比赛题】小核桃与数位游戏
    题目描述在中国,4这个数字不大家所喜欢,在外国,13这个数字不被大家喜欢,小核桃想要编写一个程序,来检查输入的数字x中有没有被大家所讨厌的数字4,或是13。例如1134这个数字,既含有数字13,又含有数字4,所以这是一个被讨厌的数字。输入格式输入包括一行,包含一个整数n,表示要判断是否为......
  • 基于Springboot框架高校学校自习室教室座位预约系统设计与实现(安装部署+源码+文档)
     博主介绍:黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。所有项目都配有从入门到精通的基础知识视频课程,学习后应对毕业设计答辩。项目配有对应开发文档、开题报告、任务书、P......
  • 代码随想录算法训练营第32天| 122.买卖股票的最佳时机 II、55. 跳跃游戏、45.跳跃游戏
    122.买卖股票的最佳时机II题目链接:买卖股票的最佳时机II题目描述:给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出......
  • 模型部署实战:从训练到上线
    目录1.前言2.RESTfulAPI设计3.使用Flask/Django开发后端服务4.使用TensorFlowServing部署模型5.性能监控与服务维护要点6.总结1.前言        在机器学习的全周期中,模型部署是至关重要的一环。经过长时间的训练、验证和优化,当模型准备就绪时,我们需要确保它能......
  • kafka部署配置与启停
    一、部署kafkadeploy-kafka.sh#!/bin/bash//需要首先修改正确的集群机器ipserver1="host1"server2="host2"server3="host3"//每台机器设置一个独立的indexidSERVER_INDEX="1"if[-f"kafka_2.13-3.7.0.tgz"];thenecho"文件存在......
  • 从零实战本地服务器部署 Docker 安装 ThingsBoard PE 专业版(适用于Cassandra + Kafka
    目录1、准备工作2、本地服务器LinuxCentos7.9系统安装docker2.1、检查Linux的内核版本2.2、卸载Docker旧版本(若有需要)2.3、安装Docker2.4、安装Docker引擎2.5、 启动docker和设置开机⾃启动3、使用Docker安装ThingsBoardPE3.1、 拉取ThingsBoardPE镜像3.2......
  • 使用C语言在VS 环境下基本实现贪吃蛇游戏
    使用C语言在VS环境下基本实现贪吃蛇游戏一丶实现前的准备工作1.设置vs运行环境为window控制台而非window终端1.正确的运行环境页面2.设置正确的运行环境2.了解句柄(下面代码能看明白会照葫芦画瓢用就行)3.利用system函数丶cmd命令设置window控制台窗口的尺寸4.了......
  • 基于SpringBoot的“游戏分享网站”的设计与实现(源码+数据库+文档+PPT)
    基于SpringBoot的“游戏分享网站”的设计与实现(源码+数据库+文档+PPT)开发语言:Java数据库:MySQL技术:SpringBoot工具:IDEA/Ecilpse、Navicat、Maven系统展示系统总体结构图网站首页界面图用户注册界面图游戏文章界面图交流论坛界面图个人中心界面图后......
  • 游戏开发:生产可用的登录验证流程(C/S模式)
    如何设计一个生产可用的登录验证流程(C/S模式)平台SDK(SoftwareDevelopmentKit)软件中央数据后台(CenterServer)软件服务端(Server)软件客户端(Client)渠道平台登录验证(channelloginverify)软件开发期需要依据平台SDK规范接入平台的账号登录验证流程(比如AppleStore),发起登录时首......