阿里云游戏服务端架构设计问答
1.比如说在一个游戏行业里面,或者说一个典型的游戏架构,在云资源层面,就是云的架构层面。应该注意哪些点,或者怎么样才能设计一个符合这个游戏需求的一个架构。比如说它可能是有一个小的游戏,或者说是一个很大的像原神这样的,或者它可能是一个很小的页游或者端游或者什么样。那么在不同场景下,它的架构会有什么区别?然后这块的考虑因素是什么? 答:在设计一个满足游戏需求的架构时,需要考虑以下几个方面: 游戏类型和规模:小型网页游戏或手机网络游戏,一般不需要太复杂的架构,可以直接使用云服务器ECS,数据库RDS等基本服务来搭建。而对于大型网游如原神,则需要更为复杂的分布式架构,包括多台服务器协同工作,可能需要使用到弹性伸缩、负载均衡等高级功能。 用户访问量:如果预计有大量的用户同时在线,那么需要考虑使用负载均衡SLB来进行流量分发,以避免单一服务器过载。同时,还需要考虑到高并发情况下的数据一致性问题。 数据处理能力:对于大数据量的游戏,例如拥有大量用户数据和行为数据的MMORPG,需要使用高效的分布式数据库和存储服务,如DRDS和OSS。 网络安全:任何在线服务都需要考虑网络安全问题,特别是游...
Tomcat使用入门
Tomcat是一个免费的开放源代码的Web应用服务器,具有处理HTML静态资源页面的功能,同时它还是一个Servlet和JSP的容器。Tomcat于1999年发布,初始版本为3.0,实现了Servlet2.2和JSP1.1的规范。 Tomcat的核心分为3个部分: Web容器:负责处理静态页面; JSP容器:把JSP页面翻译为一般的Servlet Catalina:是一个servlet容器,用于处理servlet 部署服务123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475# 安装JDK[root@tomcat]dnf install -y java-17-openjdk java-17-openjdk-devel[root@tomcat]alternatives --config javaThere is 1 program that provid...
使用Systemd启动Hexo Server
由于Hexo自带的Hexo Server默认是在前台调用,如果不小心关掉ssh连接,或者为了省事直接使用hexo server拉起静态Web服务,就需要把hexo server配置为后台服务。以下,使用系统默认的Systemd来管理hexo的web服务。 12345678910111213141516171819# 编辑service脚本#vim /usr/lib/systemd/system/hexo.service[Unit]Description=Hexo server[Service]ExecStart=/usr/local/bin/hexo serverRestart=alwaysUser=[使用文件owner用户名]Group=[使用文件owner用户组名]Environment=PATH=/usr/bin:/usr/local/binWorkingDirectory=/home/[使用文件owner]/blog/StandarOutput=syslogStandarError=syslogSyslogIdentifier=hexo[Install]WantedBy=...
「内容分发网络原理与实践」
基本原理基本概念定义 C:分发内容-Content D:分发策略-Delivery N:分发网络-Network 分发内容 静态资源:图片、文字、动画 动态内容:流媒体 工作过程 内容注入 用户请求调度 用户发起请求 CDN授权DNS服务器(全局负载均衡GLSB)将节点设备IP返回用户或者将l另一个GSLB设备的IP返回用户 用户向GLSB设备发起内容访问请求 根据用户IP地址以及访问URL,选择用户所属地域负载均衡设备(SLB),并让用户向该SLB发起访问 SLB设备通过决策为用户选择最佳服务器,用户向服务器发起访问请求 若服务器内容未命中,则该服务器向上级节点请求内容,然后由该服务器提供服务 内容分发 内容服务 内容接入 内容存储接入 互联网内容源提前将内容注入CDN 内容永久存储CDN 包括对内容的增加、删除和更新,可以使用系统或者手动方式主动发起内容删除并立即实现全网删除 对用户服务质量保障最佳,但对CDN资源消耗大、成本高,主要用于IPTV、视频点播 内容预注入 源站在内容发布之前注入CDN 只进行内容缓存,CDN根据热度实现智能删除 删除之后,仍可通...
内核虚拟化KVM的使用
概念KVM全称为Kernel Virtual Machine内核虚拟机,它是硬件辅助的全虚拟化解决方案,支持x86架构,并已移植到ARM、MIPS、PowerPC等架构。KVM作为可加载的内核模块包含在Linux内核之中,除了通用模块kvm.ko外,针对不同的CPU还有不同的模块,例如针对Intel的CPU的kvm-intel.ko,针对AMD的kvm-amd.ko. KVM的体系结构的核心是一组实现虚拟化功能的Linux内核模块,包括提供虚拟化能力的kvm.ko,还包括特定CPU的模块和管理中断、时钟等设备管理模块。而其他设备例如网卡、显卡、存储控制器和磁盘则由QEMU(Quick Emulator)来负责。它通过/dev/kvm接口设置一个Guest操作系统的地址空间,从而提供模拟的I/O设备。Libvirt是管理虚拟机和其他虚拟化功能的软件集合,包括API库、守护进程(libvirtd)和其他工具,它在KVM解决方案中扮演管理工具的角色。 入门创建虚机准备安装以Rocky Linux 8为例,需要准备一台对应虚机,并开启相关嵌套虚拟化功能。 1...
CentOS主机清理旧内核
CentOS7上删除旧内核centos7 上有专门的清理工具,package-cleanup来执行内核的清理。 123456789101112131415161718192021222324252627282930313233343536373839[root@centos7 ~]# package-cleanup --oldkernels --count=1Loaded plugins: fastestmirror, langpacks--> Running transaction check---> Package kernel.x86_64 0:3.10.0-1160.el7 will be erased---> Package kernel.x86_64 0:3.10.0-1160.88.1.el7 will be erased--> Finished Dependency Resolutionbase/7/x86_64 ...
CCSK思维导图
CCSK前导知识
Kubernetes的部署
概要Kubernetes 这个名字源于希腊语,意为“舵手”或“飞行员”。k8s 这个缩写是因为 k 和 s 之间有八个字符的关系。 Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。 Kubernetes 拥有一个庞大且快速增长的生态,其服务、支持和工具的使用范围相当广泛。 随着容器的广泛应用,Kubernetes能够满足容器的资源管理和任务编排的需要,它可以实现: 服务发现和负载均衡 Kubernetes 可以使用 DNS 名称或自己的 IP 地址来暴露容器。 如果进入容器的流量很大, Kubernetes 可以负载均衡并分配网络流量,从而使部署稳定。 存储编排 Kubernetes 允许你自动挂载你选择的存储系统,例如本地存储、公共云提供商等。 自动部署和回滚 你可以使用 Kubernetes 描述已部署容器的所需状态, 它可以以受控的速率将实际状态更改为期望状态。 例如,你可以自动化 Kubernetes 来为你的部署创建新容器, 删除现有容器并将它们的所有资源用于新容器。 自动完成装箱计算 你...
胎压计的内部构造
因缘际会,我手里多了两个外置的胎压监测器。一个是170元的铁将军E3,一个是80块的杂牌胎压监测。实际使用下来,其实两者相差不大。拆机看一下: 铁将军 杂牌 铁将军的材质和做工确实要好一些,但其实也对不起100块的差价吧。
Docker的基本使用
简介Docker是什么Docker是一个在2013年开源的使用go语言编写的PaaS服务。特点是交付速度快、资源消耗低。Docker采用客户端/服务端架构,使用远程API来管理和创建Docker容器。它的三大理念是build、ship、run,使用Namespace及cggroup等来提供容器的资源隔离与安全保障。 Docker的组成 Docker主机(Host):物理机或者虚机,用于运行Docker服务进程和容器; Docker服务端(Server):Docker守护进程,运行Docker容器; Docker客户端(Client):客户端使用docker命令或者其他工具调用相应API; Docker仓库(Registroy):保存镜像的仓库,类似git这样的版本控制系统; Docker镜像(Images):镜像可以理解为创建实例使用的模板; Docker容器(Container):容器是从镜像生成对外提供服务的一个或者一组服务。 NameSpace技术命名空间保证容器之间的运行环境互相隔离,可以使每个进程看起来都拥有自己的隔离的全局系统资源。 MNT NameSp...
大型网站技术架构核心原理与案例分析
此为《大型网站技术架构核心原理与案例分析》的记录 概述大型网站架构演化特点 高并发、大流量 高可用 海量数据 用户分布广泛、网络情况复杂 安全环境恶劣 需求快速变更、发布频繁 渐进式发展 历程 单体服务器 前后端分离、应用服务和数据服务分离 加入缓存和分布式缓存服务器 使用服务器集群改善并发处理能力 数据库读写分离 使用反向代理和CDN加速网站响应 使用分布式文件系统和分布式数据库系统 使用noSQL和搜索引擎 业务拆分 分布式服务 价值观 大型网站架构技术的核心价值随网站所需灵活应对 驱动大型网站技术发展的主要力量是网站的业务发展 误区 一味追随大公司的解决方案 为技术而技术 企图用技术解决所有问题 大型网站架构模式 分层,基本分为应用层、服务层、数据层,各层必须合理规划层次边界和接口,严格遵循分层架构的约束,禁止跨层调用和逆向调用; 分割,将不同功能按照高内聚低耦合模块单元进行分割,提高并发处理能力和功能扩展能力; 分布式 分布式应用和服务 分布式静态资源 分布式数据和存储 分布式计算 集群,独立部署的服务器集群化,通过负载均衡设备共同对外提供服务 缓存,使用...
定时删除Wazuh日志索引
前情生产和办公环境部署的Wazuh系统,因为对接的大量的Agent,每日的数据量在1.2GB左右。为减少实际运行成本并根据实际使用情况,原始日志导入一份到日志服务器外,Wazuh的安全日志只保留一个自然月。 脚本 使用Shell脚本来实现定时删除Wazuh的ElasticSearch索引的功能: 12345678910111213141516171819202122232425262728293031323334353637383940414243#!/bin/bash#本脚本用于按月份清理ES存储数据#获取本月份与索引中的日期进行比较,本月份前的索引数据将被删除。#删除前要确认ES_URL=http://127.0.0.1:9200NOW_Year=`date +%Y` NOW_Mon=`date +%m`ALLLINES=`/usr/bin/curl -s -XGET $ES_URL/_cat/indices?v| grep wazuh-alerts-4.x-*` echoecho "THIS IS WHAT SHOULD BE DELETED FOR ES:&q...
使用PowerShell脚本管理Hyper-V宿主机上的虚机网卡访问ACL规则
使用PowerShell脚本管理Hyper-V宿主机上的虚机网卡访问ACL规则前情 标题也太绕了 The Add-VMNetworkAdapterExtendedAcl cmdlet creates an extended access control list (ACL) for a virtual network adapter. The ACL allows or denies access to a virtual machine network adapter for network packets based on source IP address, destination IP address, protocol, source port, and destination port. 官方文档 其实在单一Hyper-V宿主机上实现对其上运行的VM网络访问限制,主要是对非集群化部署有用,一旦涉及群集部署或者动态迁移,这个功能就没用了。这些规则是写到宿主机里面的,不会跟随VM而迁移。不过,对于边缘部署或者固定节点部署的VM还是有用的。 脚本实现12345678910...
自己动手构建简易广播系统
综合概述XXX电视直播系统是用于XXX北京研发中心的广播和直播相结合的便宜视频推送系统,使用到了办公环境服务器、监控用电视大屏和监控用主机盒子。 组织架构逻辑拓扑整体系统由开源直播系统SRS和开源视频播放器VLC构成,其逻辑拓扑如下: 物理组件 一个SRS服务器:VLNX101071(172.31.101.71) 十三个视频接收端:172.29.153.165~177 推流服务:使用安装OBS工具的公共笔记本电脑 构建软件视频网关安装12345678910111213141516171819202122# 系统准备yum makecacheyum update -yyum install -y git make autoconf m4 gcccd /opt# 从GITHUB拉取SRSgit clone -b 4.0release https://gitee.com/ossrs/srs.git# 编译系统cd srs/trunk./configuremake# 安装系统make installln -sf /usr/local/srs/etc/init.d/srs /etc/in...
远程搜集主机网卡信息
远程搜集主机网卡信息开启功能客户端默认情况下,在Windows 10或者11 首次执行powershell脚本会提示”系统禁止脚本运行“的错误。这是因为M$为了安全,把powershell的脚本执行策略设定为有数字证书的才允许执行。因此,需要执行脚本的方法一个是使用合法的数字证书对脚本进行签名: 12345678# 获取合法的PFX证书(IIS版本SSL证书)# 一般情况下都会为证书设置密码,所以这一步需要输入密码进行验证$cert = Get-PfxCertificate -FilePath "test.pfx"# 然后为 demo.ps1 脚本文件签名:Set-AuthenticodeSignature -FilePath "demo.ps1" ` -Certificate $cert -IncludeChain "All" ` -TimeStampServer "http://timestamp.verisign.com/scripts/timstamp.dll" 或者我们干脆取消...













