十万同时在线用户,需要多少内存?——Newbe.Claptrap框架水平扩展实验
Newbe.Claptrap 项目是笔者正在构建以反应式
、Actor模式
和事件溯源
为理论基础的一套服务端开发框架。本篇我们将来了解一下框架在水平扩展方面的能力。
前情提要
时隔许久,今日我们再次见面。首先介绍一下过往的项目情况:
'第一次接触本框架的读者,可以先点击此处阅读本框架相关的基础理论和工作原理。'
今日主题
今天,我们来做一套实验预演,来验证 Newbe.Claptrap 框架,如何通过水平扩展的形式来适应逐渐增长的同时在线用户数。
由于此次实验涉及的内容很多,因此笔者将内容进行了归类,读者可以按照自己的兴趣阅读相关的章节:
业务需求说明
先看看今天要实现的业务场景:
- 用户通过 API 登录后生成一个 JWT token
- 用户调用 API 时验证 JWT token 的有效性
- 没有使用常规的 JWS 公私钥方式进行 JWT token 颁发,而是为每个用户单独使用 secret 进行哈希验证
- 验证看不同的在线用户需要消耗的内存情况
- 用户登录到生成 token 所消耗时间不得超过 200 ms
- tokn 的验证耗时不得超过 10 ms
吹牛先打草稿
笔者没有搜索到于“在线用户数”直接相关的理论定义,因此,为了避免各位的理解存在差异。笔者先按照自己的理解来点明:在线用户数到底意味着什么样的技术要求?