首页 > 其他分享 >skynet框架:单点服务性能优化思路

skynet框架:单点服务性能优化思路

时间:2024-05-20 20:29:52浏览次数:22  
标签:服务 请求 框架 过载 并发 skynet 单点 热点

skynet框架下的业务开发,单点服务是存在理论瓶颈的。当业务上存在并发请求的场景时,服务会成为性能热点,达到服务的消费瓶颈,出现过载。

原则上讨论,当业务需求一个执行单位成为并发热点,那么实现这个执行单位就需要是足够支撑业务上限的方案。

基于这个思路,讨论几个优化:

  1. 解耦;降低过载造成的直接影响

服务过载时请求延迟响应,需要将请求与关键业务流程(比如登录)解耦,使过载造成的影响可控。比如将可能引起并发的请求操作在单独的coroutine里执行,不阻塞核心主coroutine;

  1. 拆分热点服务;提高并发能力

拆分思路:对热点服务按业务拆分成多个服务或对请求单位根据指定规则分组划分对应并行的多个服务。根据经验,并发的请求方大部分情况是client的代理服务,那么并发的量级是当前online玩家总量,这种场景下适合的拆分方案应该是按规则拆分,比如按玩家角色id拆分,热点服务数量按玩家量级动态扩展;

  1. 过载统计预警;

监控统计请求耗时信息、队列堆积信息、coroutine堆积信息,针对优化耗时请求,提高单位时间消费能力。这里加入yield coroutine统计的原因是,热点服务可能位于skynet外部。当外部热点服务出现过载,需要支持在skynet内部请求侧捕获到异常并抛出告警;

  1. 过载保护;

比如请求方做超时返回处理,热点服务做过载时缓存区处理。

标签:服务,请求,框架,过载,并发,skynet,单点,热点
From: https://www.cnblogs.com/linxx-/p/18202736

相关文章

  • 什么是单点登录?如何实现?
    一、是什么单点登录(SingleSignOn),简称为SSO,是目前比较流行的企业业务整合的解决方案之一SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统SSO一般都需要一个独立的认证中心(passport),子系统的登录均得通过passport,子系统本身将不参与登录操作......
  • Ement-Plus框架的列表table导出excel数据表
    1.页面预览2.搜索条件区域code <!--查询--><divclass="table-container"><el-form:inline="true":model="queryForm"class="query-form"ref="queryFormRef"><el-form-itemlabe......
  • 工作流框架Flowable 简介
     Flowable基本操作1.创建ProcessEngine创建一个基本的maven工程,可以是Eclipse也可以是其他IDEA。然后添加两个依赖Flowable流程引擎。使我们可以创建一个ProcessEngine流程引擎对象,并访问FlowableAPI。一个是MySQL的数据库驱动在pom.xml文件中添加下列行:<dependency>......
  • EDP .Net开发框架--业务模型
    https://www.cnblogs.com/alwaysinsist/p/18190582 业务模型管理中所涉及的业务模型,业务模型的属性,业务模型的视图都是可以通过权限设置来实现数据的行(视图),列(属性)权限管控。业务模型是整个EDP平台的核心基础,数据的查询、新增、修改、删除、行列权限都是通过业务模型来实现的。......
  • Django框架指南
    Django框架指南入门安装Django系统安装python后,使用pip安装Djangopipinstalldjango创建一个Django项目在命令行中,使用以下命令创建一个新的Django项目:django-adminstartprojectmyproject这将创建一个名为myproject的文件夹,其中包含了一个Django项目的基本结构。创建......
  • EDP .Net开发框架--权限
    平台下载地址:https://gitee.com/alwaysinsist/edp权限介绍权限实际上就是谁有权使用或是访问什么,这里的“谁”可以视作"授权对象","什么"可以视作"权限对象"。例如张三可以访问用户数据,那么张三就是“授权对象”,用户数据就是"权限对象"。权限对象包括业务功能,业务功能元素,W......
  • 开源低代码框架 ReZero API 正式版本发布 ,界面操作直接生成API
    一、ReZero简介ReZero是一款.NET中间件:全网唯一界面操作就能生成API, 可以集成到任何.NET6+API项目,无破坏性,也可让非.NET用户使用exe文件免费开源:MIT最宽松协议,一直从事开源事业十年,一直坚持开源1.1纯ReZero开发适合.NetCore零基础用户,大大简化了.NetCore开发门......
  • EDP .Net开发框架--业务模型
    平台下载地址:https://gitee.com/alwaysinsist/edp业务模型概述业务模型管理中所涉及的业务模型,业务模型的属性,业务模型的视图都是可以通过权限设置来实现数据的行(视图),列(属性)权限管控。业务模型是整个EDP平台的核心基础,数据的查询、新增、修改、删除、行列权限都是通过业务模型......
  • SimCLR: 一种视觉表征对比学习的简单框架《A Simple Framework for Contrastive Learn
    现在是2024年5月18日,好久没好好地看论文了,最近在学在写代码+各种乱七八糟的事情,感觉要和学术前沿脱轨了(虽然本身也没在轨道上,太菜了),今天把师兄推荐的一个框架的论文看看(视觉CV领域的)。20:31,正经的把这篇论文看完。论文:ASimpleFrameworkforContrastiveLearningofVisua......
  • 用flask框架在html中运行python程序
    目录-app.py-templates-index.html首先安装Flask和OpenCV库pipinstallflaskopencv-python接着创建一个Python脚本,叫做app.pyfromflaskimportFlask,render_template,Responseimportcv2app=Flask(__name__)@app.route('/')defindex():retur......