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

网页设计培训高清图集游戏优化大师官方下载

网页设计培训高清图集,游戏优化大师官方下载,玩具网站的制作,网架公司运营经验欢迎来到啾啾的博客🐱。 记录学习点滴。分享工作思考和实用技巧,偶尔也分享一些杂谈💬。 有很多很多不足的地方,欢迎评论交流,感谢您的阅读与评论😄。 目录 反正能用的系统问题分析方案一:简单多…

欢迎来到啾啾的博客🐱。
记录学习点滴。分享工作思考和实用技巧,偶尔也分享一些杂谈💬。
有很多很多不足的地方,欢迎评论交流,感谢您的阅读与评论😄。

目录

  • 反正能用的系统
  • 问题分析
  • 方案一:简单多实例增加些许容错
  • 方案二:任务调度机制
  • 方案三:Kubernetes+主备模式

反正能用的系统

几年前,我曾经参与过一个月工单10亿级别(TPS数万/秒)的系统开发,当时的架构设计大致如下。
图以数据流为导向,省去了一些微服务架构组件。

![[数据处理系统-Review.png]]

很显然,这个架构存在一个明显的问题:数据分区后由不同的服务专门处理,若这个专职的服务挂掉,该分区的数据在服务恢复前都将无法得到处理。

那么,我们应该怎么改善这个设计呢?

问题分析

  • 主要待解决的问题

    • 功能性问题
      专职服务挂掉后,分区数据得不到处理。

    • 拓展问题
      当前的数据分割方式是在系统设计时静态划分。如果数据量超出设计预期,系统处理不了,也不好拓展。

    • 性能问题
      不能保障数据均匀地分布在各个分区,也不能保障每个专职服务处理速度一致。可能Server1处理完数据了,Server2还有一半没有处理,服务器性能得不到充分利用。

  • 其他问题
    略…

方案一:简单多实例增加些许容错

每个专职服务都部署成多实例,从而提升容错能力,解决部分功能性问题。

多实例会带来一个问题:多个服务竞争同一批任务。

这是很简单的资源竞争问题,可以简单使用锁来避免资源竞争。
在分布式架构中,使用第三方存储即可解决,如Redis,ZooKeeper。
另外设计兜底机制,如果多个服务实例中存在不靠谱实例,竞争到了资源但是没有完成,使用告警机制重新竞争处理。
以及从底层设计支持幂等,防止重复消费带来问题。

  • 基于Redis或Zookeeper设计任务分片获取

关于任务:任务应该有一个唯一ID、状态(如:待处理、处理中、已完成、失败)、处理实例ID(可选,用于追踪)、尝试次数等字段。

实例需要尝试获取并锁定一个“未处理”的任务批次。
因此,我们需要一种方式来标识数据分片。
如果数据本身有连续ID或者可以按某种规则分批,那是最好的。如果不行,可能需要预先在DB中标记好批次,或者有一个专门的“任务池”表。为了简化,我们假设数据可以按ID范围划分。

简单流程图如下:
选定几个实例负责加载任务,所有实例从任务池中获取任务,并对任务加锁(Redis的SETNX)。
![[数据处理系统-Review-4.png]]

详细UML如下(AI生成):
![[数据处理系统-Review-5.png]]

但是这样设计容错率还是不够、且不能无法解决其他分区的动态资源分配问题。对所有服务来说性能也没有利用到极致。

方案二:任务调度机制

我们可以补充设计一个资源调度系统来解决所有问题。
简单草图如下:
![[数据处理系统-Review-3.png]]

很显然,我们需要有

  • 服务管理与检测
    需要获取服务状态以分配任务:需要知道服务实例的处理状态,哪些服务可以分配任务,以及还能接收多少数据也会损害服务性能。

  • 动态分区计算
    需要支持动态扩展服务。以及最快最好分配数据处理任务到服务,充分利用资源。
    ![[数据处理系统-Review-1.png]]

原来的数据库分库分表结构不做更改,需要分库分表来缓解数据查询压力。
调度服务需要获取数据与分配数据。
任务(数据)获取注意事项:需要能感知数据源数据量、数据概要信息(比如区间信息,用于分区)。获取连续数据、内存数据、多线程获取并汇总信息用于分配。
任务分配:要避免多个分配者竞争。

  • 容错设计
    如果调度服务挂掉了怎么办?
    管理服务注册表,服务状态检测。

很显然,我们可以使用Kafka来解决上述问题。任务均发送至Kafka,由Kafka的rebalance机制进行任务调度,且Kafka消费者组可以很大程序上解决容错问题。也较易扩展。

方案三:Kubernetes+主备模式

最后但是的团队在一次迭代中选择了容器化+主备模式的方式来解决容错问题。
即,为每个专职服务设置一个备用实例。并且将服务容器化。

http://www.dtcms.com/wzjs/176311.html

相关文章:

  • 怎样做无水印视频网站seo网站优化培训
  • pythonunicode转码上海seo网络优化
  • 门户网站建设和内容保障工作新媒体seo指的是什么
  • 第二次使用wordpress江东怎样优化seo
  • 网站备案vpn注销做百度推广
  • 大型网站 开发语言个人网站网页首页
  • 福建建设动态网站搜索量排名
  • 百度上传网站服务器艺人百度指数排行榜
  • 在discuz做网站龙岗网站设计
  • 厦门 网站建设闽icp百度指数的数值代表什么
  • 国示范校建设网站网页设计是干嘛的
  • 企业每月报账在哪个网站做长沙seo推广
  • 网站品牌建设方案自建站模板
  • 营销型企业网站建设 广义的空间优化推广什么意思
  • 国内大中型网站建设知名公司网页制作软件有哪些
  • 安庆做网站公司上海有什么seo公司
  • 网站集群建设中标我要恢复百度
  • 静态网页模板简约seo新人培训班
  • 集团公司做网站的好处有什么高清的网站制作
  • 哪些网站可以免费做推广seo外包公司哪家专业
  • 洛阳网站建设哪家专业百度关键词搜索排行
  • 网站建设意义适合小学生的新闻事件
  • 黄冈网站推广优化找哪家石家庄seo顾问
  • 程序员 修电脑 做网站企业网站建设报价表
  • 虚拟主机做网站教程百度关键词推广多少钱
  • 如何在百度上做公司做网站足球进球排行榜
  • 北京seo外包公司要靠谱的seo网站权重
  • 中山市网站建设 中企动力网站百度百科
  • 济南网站制作报价百度账号批发网
  • 域名个人用户可以做企业网站吗搜索引擎排名国内