草庐IT

设计一个亿级高并发系统架构 - 12306火车票核心场景DDD领域建模

“架设一个亿级高并发系统,是多数程序员、架构师的工作目标。许多的技术从业人员甚至有时会降薪去寻找这样的机会。但并不是所有人都有机会主导,甚至参与这样一个系统。今天我们用12306火车票购票这样一个业务场景来做DDD领域建模。”开篇要实现软件设计、软件开发在一个统一的思想、统一的节奏下进行,就应该有一个轻量级的框架对开发过程与代码编写做一定的约束。虽然DDD是一个软件开发的方法,而不是具体的技术或框架,但拥有一个轻量级的框架仍然是必要的,为了开发一个支持DDD的框架,首先需要理解DDD的基本概念和核心的组件。一.什么是领域驱动设计(DDD)首先要知道DDD是一种开发理念,核心是维护一个反应领域概

亿级月活游戏《迷你世界》全栈容器化实践分享

本文分享自华为云社区《亿级月活游戏《迷你世界》全栈容器化实践分享》,作者:云容器大未来。背景迷你玩旗下《迷你世界》是一款国产沙盒创意平台,拥有全球数千万创作者进行去中心化内容创作,通过方块组合自由创造等方式,引导用户在平台上创作虚拟作品。2021《迷你世界》的每月活跃玩家人数已超过一亿。《迷你世界》此前面临的突出问题在于服务端的弹性:迷你世界服务器的规格较大,每个服务器上承载了很多游戏服进程,不同玩家的游戏时间上差异也比较大,为了保障深度玩家的游戏体验,即使只有一个玩家还在进行游戏,对应的游戏服务器也是不会缩容的,这必然会影响服务端整体的资源利用率和运营成本。我们期望通过容器灵活规格来解决《迷

支持亿级连接并开源的分布式MQTT消息服务器分享

今天给各位分享一款开源的分布式MQTT消息服务器EMQX,此消息服务器几乎是物联网系统的标配同时也适合做即时通知和推送服务场景,在作者之前参与的项目中主要用于做物联网系统边缘设备信息采集、以及交易所行情数据推送使用,下面是EMQX相关介绍。什么是EMQXEMQX是一款开源的大规模分布式MQTT消息服务器,功能丰富,专为物联网和实时通信应用而设计。EMQX5.0单集群支持MQTT并发连接数高达1亿条,单服务器的传输与处理吞吐量可达每秒百万级MQTT消息,同时保证毫秒级的低时延。EMQX支持多种协议,包括MQTT(3.1、3.1.1和5.0)、HTTP、QUIC和WebSocket等,保证各种网络

让Elasticsearch飞起来!百亿级实时查询优化实战

让Elasticsearch飞起来!百亿级实时查询优化实战-简书最近的一个项目是风控过程数据实时统计分析和聚合的一个OLAP分析监控平台,日流量峰值在10到12亿上下,每年数据约4000亿条,占用空间大概200T。面对这样一个数据量级的需求,我们的数据如何存储和实现实时查询将是一个严峻的挑战。经过对Elasticsearch多方调研和超过几百亿条数据的插入和聚合查询的验证之后,我们总结出以下几种能够有效提升性能和解决这一问题的方案:集群规划存储策略索引拆分压缩冷热分区等本文所使用的Elasticsearch版本为5.3.3。让Elasticsearch飞起来!百亿级实时查询优化实战什么是时序索

亿级月活游戏《迷你世界》全栈容器化实践分享

本文分享自华为云社区《亿级月活游戏《迷你世界》全栈容器化实践分享》,作者:云容器大未来。背景迷你玩旗下《迷你世界》是一款国产沙盒创意平台,拥有全球数千万创作者进行去中心化内容创作,通过方块组合自由创造等方式,引导用户在平台上创作虚拟作品。2021《迷你世界》的每月活跃玩家人数已超过一亿。《迷你世界》此前面临的突出问题在于服务端的弹性:迷你世界服务器的规格较大,每个服务器上承载了很多游戏服进程,不同玩家的游戏时间上差异也比较大,为了保障深度玩家的游戏体验,即使只有一个玩家还在进行游戏,对应的游戏服务器也是不会缩容的,这必然会影响服务端整体的资源利用率和运营成本。我们期望通过容器灵活规格来解决《迷

人麻了,刚面试入职就遇到MySQL亿级大表调优...

📢📢📢📣📣📣哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验一位上进心十足的【大数据领域博主】!😜😜😜中国DBA联盟(ACDU)成员,目前服务于工业互联网擅长主流Oracle、MySQL、PG、高斯及Greenplum运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。✨如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️文章目录📣1.背景📣2.方案📣3.大表转分区✨3.1数据库参数调整✨3.2分别导出表结构和数据✨3.3备份原表✨3.4新建原表3.5在线分区📣4.SQL调优✨4.1慢查询开

公司用的亿级大表拆分方案,yyds!

作者:天机术士来源:juejin.cn/post/7078228053700116493前言笔者是在两年前接手公司的财务系统的开发和维护工作。在系统移交的初期,笔者和团队就发现,系统内有一张5000W+的大表。跟踪代码发现,该表是用于存储资金流水的表格,关联着众多功能点,同时也有众多的下游系统在使用这张表的数据。进一步的观察发现,这张表还在以每月600W+的数据持续增长,也就是说,不超过半年,这张表会增长到1个亿!笔者内心:这个数据量,对于mysql数据库来说是绝对无法继续维护的了,因此在接手系统两个月后,我们便开起了大表拆分的专项工作。(两个月时间实际上主要用来熟悉系统、消化堆积需求了)推荐

架构设计内容分享(二十四):10亿级ES海量搜索狂飙10倍,该怎么办?

目录首先说一下自己对ES性能的认识措施一:调大内存,缓存越大越好措施二:缩容,缩小index索引措施三:冷热分离措施四:数据预热措施五:索引模型优化措施六:查询优化首先说一下自己对ES性能的认识首先可以说明一下自己的使用经验:ES性能并没有想象中那么好的。下面是一个权威数据,腾讯云的ES集群性能数据:3个节点性能测试,吞吐量中位数50qps。ES集群吞吐量的测试数据所以,很多时候ES数据量大了,特别是有几亿条数据的时候,实际上性能很差。在2017、2018年左右,维护一个30个节点的集群架构,亿级文档。 数据规模大概1亿doc,1TB的容量。在那个集群上,有的慢搜索,最长rt在5-10s。你可

支撑百万商户、千亿级调用:微盟如何通过链路设计降本40%?

一分钟精华速览在典型的分布式系统中,用户的一个请求到达组合的前端服务后,前端服务会分发请求到内部的各个服务,每次调用都涉及跨系统的一次请求和一次响应。在有大规模、高并发请求量的系统中,如何标识这些请求及存储这些调用信息,并形成调用链?如果系统的某两个服务间出了问题,又如何为业务方提供可视化的展现形式以快速排障?本文总结了微盟支持千亿级规模的调用链实践,详解平台的建设目标、设计思路和落地效果。作者介绍微盟APM团队负责人——向明亨TakinTalks稳定性社区专家团成员。2017年加入微盟,目前负责公司APM体系建设,包含APM体系从规范到实施,推动APM体系在公司的落地,主导了微盟APM平台、

云原生之深入解析亿级流量架构之服务限流思路与方法

一、限流思路①熔断系统在设计之初就把熔断措施考虑进去,当系统出现问题时,如果短时间内无法修复,系统要自动做出判断,开启熔断开关,拒绝流量访问,避免大流量对后端的过载请求。系统也应该能够动态监测后端程序的修复情况,当程序已恢复稳定时,可以关闭熔断开关,恢复正常服务。常见的熔断组件有Hystrix以及阿里的Sentinel,两种互有优缺点,可以根据业务的实际情况进行选择。②服务降级将系统的所有功能服务进行一个分级,当系统出现问题需要紧急限流时,可将不是那么重要的功能进行降级处理,停止服务,这样可以释放出更多的资源供给核心功能的去用。例如在电商平台中,如果突发流量激增,可临时将商品评论、积分等非核心