需求 tcp长连接游戏额外监听一个webscoket端口供微信小程序游戏开发所用,业务方过来后明确提出3点要求: 1,对外的这个websocket端口需要支持wss协议 2,对外的这个websocket端口需要具备一定的防护能力 3,服务端能获取到客户端真实请求ip 4,支持游戏多端,手游为tcp对外,微信小程序游戏为wss对外 对于第四种多端的要求的话算是一种隐性的要求吧,对外wss需要进行额外的配置,如果游戏是纯wss的话那么是可以上云商的k8s集群服务的 什么是ws 在正式配置之前我们需要了解什么是websocket,websocket是一种在单个tcp连接上提供全双供通信的协议,它允...

  yx99X8RMvAE0   2023年11月19日   35   0   0 wsswebsocket高防

需求背景: 研发发了一张redis查看信息截图,说sdk服务没有获取到用户真实ip 他想要能获取到用的真实请求ip sdk服务访问架构 思路: 这里犯了致命失误,没有问清楚,上面那个redis信息是从那个代码上获取,怎么获取到的,虽然在语言方面运维天然劣势,不过可以问研发嘛,那些代码是干什么作用的,如果不去当面问清楚,恐怕自以为解决后但实质研发的问题并没有解决会让你的研发伙伴感觉你是不专业的,后面了解到研发通过获取请求头信息中的REMOTE_ADDR来作为用户真实请求ip存入redis中的,那么我们想下是不是研发拿错了请求头信息了,因为一般remote_addr只是代表服务上一层客户端...

  yx99X8RMvAE0   2023年11月13日   28   0   0 uwsgidjangonginxheader真实ip

需求背景 运维平台开发完成后,由运维执行业务变更操作,但是有时候研发那边比较急,而运维也有不在电脑前的时候,这样的话就比较麻烦了,所以想做成钉钉免登陆的方式,当工单任务下发的时候,直接通过手机钉钉登陆到执行页面点击操作,然后再根据项目分执行权限给研发,这样的话就省心多了 前提 1,需要一台外网测试机(阿里云服务器) 2,钉钉上注册一个组织,然后登录钉钉管理后台,创建部门,添加成员,角色信息 浏览器输入https://oa.dingtalk.com/register_new.htm?showmenu=false/ https://oa.dingtalk.com/contacts.htm/c...

  yx99X8RMvAE0   2023年11月05日   58   0   0 钉钉免登陆flaskUser

前言 魔术方法(MagicMethod)是Python内置方法,格式为"__方法名__",不需要主动调用,存在目的是为了给Python的解释器进行调用,几乎每个魔术方法都有一个对应的内置函数,或者运算符,当我们对这个对象使用这些函数或者运算符时就会调用类中的对应的魔术方法,可以理解为重写这些python的内置函数。魔术方法可以是说Python的精华所在,这是其他语言所没有的。 分类 创建与销毁     __init__与__del__ hash bool 可视化 运算符重载 容器和大小 可调用对象 上下文管理 反射 描述器 其他杂项 创建与销毁 __i...

  yx99X8RMvAE0   2023年11月02日   74   0   0 魔术方法

需求背景: 后台那边反馈数据上报有点问题,经过排查发现是跑数据的进程挂掉了,跑数据的php进程使用supervisor管控的 虽然我们在supervisor配置中配置了autorestart=true,能自动重启,但是启动失败重试次数默认是3次,3次后没有成功supervisor进程状态转成失败退出状态。 因此后台那边要求我们能监控supervisor进程状态并且如果supervisor状态如果是失败退出状态的话能通知到人,或者当检测到supervisor进程状态如果有失败状态的话能重新启动成功,这里我选择第一种方案,做supervisortclstatus进程状态监控,将其整合到zabbi...

监控的基础理念 监控在企业中的重要性 追溯到监控不发达的时代,那时候基本数以一个出行基本靠走,安全基本靠狗 记得2006年我刚刚开始做运维的时候,哪里有什么自动化监控的概念 至少都是人工盯着,服务器大概2,3台的样子放在一个比较简陋的机房里,所有的服务区都接着单独的显示器运行着 每天上班第一件事就是走进去巡视以下,看看各种软件打印出来的输出信息是否有报错,如果有就拿个excel记录下再邮件发给老板想起来都觉得臊得慌 不过其实在那个年代也是没有办法运维半身就很原始,各种运维技术都处于拓荒得阶段 如今得企业中动不动运维就要负责成败上千甚至上万机器没有高大上得方法是绝对支撑不起来这种规模得监控得 服...

  yx99X8RMvAE0   2023年11月02日   70   0   0 Prometheus

处理过程 1,通过top命令找到cpu占用最高的进程pid 2,通过命令ll/proc/$pid查看对应pid所运行的目录,这个显示出来后找到 cwd右边显示即可 上面图片是我做的一个演示,当时查看到对应的目录是一个网站站点目录,网站存放的就是一些静态资源,也就是这个cpu异常飙升的进程是占用到这个网站站点目录的,但是这说明不了什么 3,假定服务器被公鸡(gongji没法过审)查看服务器出入流量是否异常通过iftop命令或者是查看监控都可以知道当前服务器流量和带宽使用情况,发现流量和带宽使用情况都是正常的 4,查看服务器上是否有异常的定时任务以及异常的开机自启动的进程设定  查...

  yx99X8RMvAE0   2023年11月02日   73   0   0 jumpserverZmodem上传文件rz

问题 前天上午阿里云监控报警,提示我们自己一台ecs官网服务器公网流出带宽使用效率过高 处理过程 1,登陆官网服务器后使用iftop命令进行排查,39.96.32.45这个流量超过9M(ECS外网总带宽为10M) 2,使用ss命令查看具体链接,发现均为http请求 3,过滤nginx访问日志,访问日志文件路径这个看nginx配置文件中的 access_log配置项的值,然后通过awk,sort,uniq命令统计39.96.32.45这个来源ip访问了我们官网服务器上的那些网址 4,通过ip归属地查询发现39.96.32.45这个ip是北京阿里云的一个地址,不是公司内部的,也不是正常访...

  yx99X8RMvAE0   2023年11月02日   43   0   0 服务器官网nginx高防

模块简介 Marshmallow,中文译作:棉花糖.是一个轻量级的数据格式转换的模板,常用于将复杂的orm模型对象与python原生数据类型之间相互转换. 官方文档:https://marshmallow.readthedocs.io/en/latest/ 使用背景 在使用RESTfulAPI进行开发的过程中,序列化与反序列化是绕不开的一环,而marshmallow在序列化与反序列化,数据验证和转换,数据格式化,嵌套字段和数据关联,数据过滤和选择具有很好的功能表现 具体使用 首先在pycharm上新建一个flask项目,结构如下: marshmallow的使用,将从下面几个方面展开,在开...

前言 这个问题对于很多从事linux系统维护工作的人来说简直就是小case,属于小问题,为什么要拉出来单独讲呢,是因为我之前的同事遇到过并且找我咨询,然后现在同事也遇到了这个问题,说明我们对linux系统的理解还是不够透彻,所以单独拿出来讲下 起因 之前的同事找过来说,他们启的mysql服务,文件句柄数不对,以下图片: 排查思路 1,先问当前mysql用户是用什么用户启动的,他说是mysql用户 2,切入到当前用户执行命令sumysql,执行命令ulimit-a,查看当前用户的资源限制信息,这个是root用户的截图哈以下图片: 发现当前用户,openfiles为65535,这是正常的...

  yx99X8RMvAE0   2023年11月02日   53   0   0 mysql文件描述符

前言 照理来说我是没有什么资格讲关于数据库相关的一些知识的,我不是专门搞数据库的,只是平时工作重点涉及到运维平台开发,而运维平台开发中经常会用到mongo,基本实现了业务逻辑代码和配置数据分离,那么就让我们通过这篇关于mongo学习笔记快速入门吧 MongoDB的简介 mongo音译是不是觉得跟芒果有些相似呢,但其实不是芒果的意思,而是英文Humongous翻译:巨大的 缩写 MongoDB趋势及未来展望 对于MongoDB的认识Q&A Q A 什么是MongoDB? 一个以JSON为数据模型的文档数据库 为什么叫文档数据库? 文档来自于"JSO...

  yx99X8RMvAE0   2023年11月02日   68   0   0 mongodb数据库

最近一直在写api文档,不知道兄弟们有没有和我一样的感受,写文档比写代码还难受,写代码逻辑实现提交就完事了,写api文档那才叫难受,有些不合理的地方给反复来回改好几遍,不止代码要改,文档要改,注释要改,关键是文档还要让别人能看得懂 为了解决这个痛点我想起了swaggerui文档,因为我在jumpserverapi文档上看到过,像这样 能实现交互,在线调式的api文档正是我需要的 我们知道fastapi框架是原生支持swagger的,但是flask框架怎么搞呢 ai上提供了两个思路 这里是因为我原有的代码注释已经写的太多了,不想再因为文档侵入太多代码,所以我果断选择了第二种方式,当然如果...

  yx99X8RMvAE0   2023年11月02日   53   0   0 swaggerflask

前提 在我上一篇博文中(Prometheus_彭阳的技术博客_51CTO博客)介绍了,prometheus监控原理,监控服务搭建,prometheus内部函数...,如果还未搭建起prometheus服务和node_exporter实现机器初步监控的可以对照文章搭建起来,在这一小节将着重介绍prometheusalertmanager通过webhookdingtalk插件来实现钉钉报警功能 实验架构 搭建步骤 第一步:创建钉钉机器人,保留webhook地址 第二步:prometheus-webhook-dingtalk安装启动 wgethttps://github.com/timo...

  yx99X8RMvAE0   2023年11月02日   42   0   0 AlertManagerwebhookdingtalk

背景 公司搭建的zabbix,能做到快速搭建,通过zabbixapi开发能做到机器初始化快速监控,监控模板直接用zabbix自带不需要另外编写,通过配置报警媒介,报警触发器,能实现发送钉钉报警markdown消息...一切的一切显示出zabbix如此快捷和便利,然而当我们需要观看一个主机组内所有主机监控情况时却为了难,虽然zabbix可以添加聚合图形,但是随着被监控机器不断增加,zabbix聚合图形已无法满足我们这一要求,所以后续将考虑使用prometheus和grafana的方式或者zabbix和grafana的方式来解决这一痛点 grafana搭建和使用 rpm下载链接:Installo...

  yx99X8RMvAE0   2023年11月02日   28   0   0 Grafanaldap

高考失败 又是一年的开学季,时间过的真的很快,回想起我上民办大专那会儿已经是十年前的事情了,十年前我高考算失败吧,成绩出来后我和我妈去了学校,看到成绩后我想我算是完蛋了,437分,成绩公开前一周吧是有答案出来会估分,比估分还少个20多分,没想到是如此之差,那天的天气很阴,我看到了我的同学跟着老班主任高高兴兴地,应该是询问填报志愿的事情吧,我匆匆走过去怕老班看到了,其实同学看到了无所谓的,因为当时只是插班生,没什么人注意和认识,然后又跑到复读那边询问复读所需要的费用,我妈阴着脸,我没说什么,后来我之前的历史老师找到我建议我报考他所说的大专,我妈是农村人什么都不知道,当时我也是心灰意冷,对这些事情...

  yx99X8RMvAE0   2023年11月02日   40   0   0 运维

上次在编写swaggerui文档时提了一嘴fastapi,目前这个框架在市面学习的资料比django还有flask要少的多,所以准备整理下关于fastapi的一些内容以供他人参考 框架介绍 FastApi一个用于构建API的现代化,快速(高性能)的web框架. FastAPI是建立在Pydantic和Starlette基础上的,Pydantic是一个基于Python类型提示来定义数据验证,序列化和文档的库,Starlette是一种轻量级的ASGI框架/工具包,是构建高性能Asyncio服务的理性选择 两个核心组件 Starlette负责web部分(Asyncio),官网地址为:Starlet...

  yx99X8RMvAE0   2023年11月02日   47   0   0 FastAPIAPI
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~