高级后端工程师 · 分布式系统与多租户架构
Hassan Abrar
在压力之下依然稳定的系统。
我使用 Java/Spring Boot 与 Node.js/TypeScript 设计并运维事件驱动的多租户后端,涵盖沙特大型企业的薪资系统到实时广告欺诈拦截。
可接受远程工作 · 与欧洲 / 美国东部时区重叠
01 / 数据
来自生产环境的数字来自生产环境的数字
- 01
建模
领域边界、租户模型与故障模式。
- 02
构建
契约清晰的事件驱动服务。
- 03
运维
仪表盘、告警与平稳发布。
FIG. 01 / 我的工作方式02 / 架构
不同的问题,深思熟虑的架构。不同的问题,深思熟虑的架构。
01 · 独立项目 · 唯一架构师兼运维者
ClickFortify
面向 Google Ads 与 Meta Ads 的实时广告欺诈检测
问题 · 广告主的预算被机器人、VPN、代理和数据中心流量消耗。无效点击必须在广告投放期间就被检测并排除,而不是几周后才在报告中发现。
约束
- →每个广告主都是一个隔离的租户
- →排除规则必须同步回 Google Ads 和 Meta 广告账户
- →检测在实时流量上持续运行
关键决策
- →基于 NATS 的事件驱动微服务,使采集、评分和同步可以独立扩展
- →使用 Redis Bull 任务队列,为广告平台 API 调用提供重试和背压
- →结合设备指纹识别以及 VPN、代理和数据中心过滤的行为评分
FIG. 02 / 系统草图 · ClickFortify成果
- →自动将 IP 排除规则同步回广告主的广告账户
- →在近乎零停机的情况下,完成 500+ 个租户数据库的线上生产数据库迁移
技术栈
Node.jsTypeScriptNATSRedis BullMongoDBNext.js
02 · 高级后端工程师(合同制),通过 Mission.dev
Masdr payroll platform
面向沙特大型雇主的企业级金融科技与薪资平台
问题 · 大型雇主的薪资发放、银行验证和支付都通过同一个平台完成。一条消息丢失或重复,就意味着有人被错误地支付。
约束
- →多租户、多数据库架构
- →面向合作伙伴和银行的严格 API 治理
- →版本发布需在 WebLogic 上依次经过 DEV、UAT 和 PROD
关键决策
- →采用异步、事件驱动的 JMS 管道处理薪资计算、银行验证和服务间通信
- →在 Apigee 上管理 API 生命周期:限流、认证与授权策略、请求/响应校验
- →针对薪资和验证故障构建 Splunk 仪表盘与告警
FIG. 03 / 系统草图 · Masdr payroll platform成果
- →缩短了生产环境薪资与验证故障的诊断时间
- →随着新的企业租户接入,持续扩展租户配置与隔离能力
技术栈
JavaSpring BootJMSApigeeSplunkJenkinsIBM UrbanCode DeployWebLogic
03 · 高级软件工程师
Southville multi-tenant platform
从一个单体应用到 12 个生产微服务
问题 · 所有客户共用一个单体应用:一个慢模块或一次糟糕的部署就会影响所有租户,而且新租户接入需要手工操作。
约束
- →在拆分过程中保持产品持续运行
- →每个租户都需要严格的数据隔离
- →日志分散在 GCP 和 AWS 上
关键决策
- →按领域边界拆分为 12 个服务
- →每个租户独立数据库,配合动态 schema 解析与自动化开通
- →用于薪资发放和考勤的 JMS 事件管道
- →在 Google Cloud Logging、AWS CloudWatch 和 Splunk 之间实现统一可观测性
FIG. 04 / 系统草图 · Southville multi-tenant platform成果
- →1,000+ 个隔离租户数据库,可用性 99.9%
- →通过 Redis 缓存和查询优化,API 响应时间提升 40%+
- →故障发现与解决时间缩短 60%
- →预订平台每日处理 10,000+ 笔交易
技术栈
NestJSNode.jsSpring BootMongoDBPostgreSQLRedisJMSDockerKubernetes
04 · 构建者
VoxRange
语音 AI 与通话分析基础设施
问题 · 语音产品需要实时的电话接入、转写和自然语音合成,同时又不想完全依赖按分钟计费的第三方 API。
关键决策
- →带语音转文本的实时电话处理管道
- →在自托管 GPU 上训练的定制文本转语音模型
FIG. 05 / 系统草图 · VoxRange成果
- →覆盖电话接入、语音转文本和定制文本转语音的生产级语音 AI 基础设施
技术栈
TelephonySpeech-to-textText-to-speechSelf-hosted GPU
05 · 软件工程师
Lytics · PEMRA
为巴基斯坦电子媒体监管局(PEMRA)提供的媒体监测与情报系统
问题 · 监管机构需要监测各频道的直播内容,并快速查找、剪辑和审核乌尔都语与英语内容。
关键决策
- →直播视频接入与剪辑
- →自动化的乌尔都语与英语转写和翻译
- →元数据标注,为实时监管仪表盘提供数据
FIG. 06 / 系统草图 · Lytics · PEMRA技术栈
Node.jsReactMongoDBPostgreSQL
其他作品
CoreDirection
为一个全球健康生态系统开发后端、Web 平台和 React Native 应用,使用机构包括 Dubai Sports Council 和 Expo 2020。
Vue.jsNestJSNode.jsRedis BullReact Native
Prismfly
一款 Chrome 扩展,为 Shopify 及自建店铺上的 100+ 个 DTC 品牌提供转化率优化和 A/B 测试能力。
JavaScriptReactNode.jsChrome Extension APIs
Stack Intel real-time chat
支持 10,000+ 并发用户的实时聊天系统,消息送达率 99.8%,推送通知延迟 sub-100ms。
Node.jsWebSocketsRedis Pub/SubSocket.ioRedis Streams
2025年5月 – 至今 · Remote · Riyadh, Saudi Arabia
Senior Backend Engineer · Mission.dev
客户: Masdr
为沙特阿拉伯大型雇主服务的企业级金融科技与薪资平台。
- →在多租户、多数据库的薪资架构中,负责 Spring Boot 微服务的端到端功能交付。
- →设计用于薪资处理、银行验证和服务间通信的异步 JMS 管道。
- →在 Apigee 上管理 API 生命周期:限流、认证策略以及请求/响应校验。
- →构建 Splunk 仪表盘与告警,缩短薪资与验证故障的诊断时间。
2023年2月 – 至今 · Lahore, Pakistan
Senior Software Engineer · Southville Solutions
- →主导将单体应用拆分为 12 个生产微服务。
- →为 1,000+ 个隔离租户数据库设计多租户基础设施,可用性达 99.9%。
- →构建基于 NestJS/MongoDB 的预订平台,每日处理 10,000+ 笔交易;API 响应时间提升 40%+。
- →在 GCP Logging、CloudWatch 和 Splunk 之间统一可观测性,故障解决时间缩短 60%;指导 5+ 名工程师。
2021年5月 – 2023年1月 · Lahore, Pakistan
Associate Software Engineer · Stack Intel .IO
由软件工程实习生(03/2021 – 05/2021)晋升。
- →基于 Node.js、WebSockets 和 Redis Pub/Sub 构建实时聊天,支持 10,000+ 并发用户,送达率 99.8%。
- →使用 Socket.io 和 Redis Streams 实现 sub-100ms 推送通知;集成 Stripe,零安全事故。
- →使用 Jest、Mocha 和 Supertest 将测试覆盖率提升至 85%,缺陷减少 45%。
2021年10月 – 2022年4月 · Lahore, Pakistan
Developer Head · MSP Community, University of Lahore领导经历
- →负责开发者方向:为学生工程师组织技术分享并提供实践指导。
2017 – 2021 · Lahore, Pakistan
BS Computer Science · The University of Lahore教育背景
- 编程语言
- JavaTypeScriptJavaScriptPythonSQL
- 后端
- Spring BootNode.jsNestJSExpress.jsFlaskDjango
- 架构
- MicroservicesEvent-drivenMulti-tenantDistributed systemsRESTGraphQLWebSockets
- 消息与流处理
- Apache KafkaNATSJMSRedis BullSocket.io
- 数据库
- PostgreSQLMySQLOracleMongoDBRedisDynamoDB
- 云与 DevOps
- AWS (EC2, S3, Lambda, RDS)GCPDockerKubernetesJenkinsGitHub ActionsIBM UrbanCode Deploy
- 可观测性与安全
- SplunkCloudWatchGoogle Cloud LoggingELKOAuth2JWTApigee
- 前端与移动端
- ReactReduxTailwind CSSReact NativeExpo
05 / 随笔
首先是工程师,习惯性地做架构。首先是工程师,习惯性地做架构。
悬停以显示清晰图像 · 触屏设备请轻点
FIG. 00 / 随笔 · 31.5204° N · 74.3587° E · LAHORE我是一名高级后端工程师,拥有 5+ 年在企业金融科技、广告技术和高并发 SaaS 领域构建与运维生产系统的经验。我同时深耕两大后端生态——Java/Spring Boot 与 Node.js/TypeScript,擅长事件驱动微服务、多租户架构和实时数据管道。
我主导了将单体应用拆分为 12 个生产微服务的工作,为 1,000+ 个隔离租户数据库设计了多租户基础设施并保持 99.9% 的可用性,还指导过 5+ 名工程师。我远程与沙特阿拉伯、欧洲和北美的团队合作。
- 我会说的语言
- 英语 · 乌尔都语
- 正在探索
- 语音 AI 基础设施:实时电话系统、语音转文本,以及在自托管 GPU 上运行的定制文本转语音。
06 / 文章
来自生产环境的笔记来自生产环境的笔记
全部文章 →
你承接哪类工作?+
高级后端职位和合同项目:设计并构建事件驱动服务、多租户平台,以及将单体应用拆分为可独立部署的服务。
你在哪里?能覆盖哪些时区?+
巴基斯坦拉合尔(UTC+5)。我远程工作,并与欧洲和美国东部团队保持工作时间重叠;曾与沙特阿拉伯、欧洲和北美的团队合作。
你偏好哪种技术栈?+
Java/Spring Boot 和 Node.js/TypeScript(NestJS)我都在生产环境中使用,消息方面用 Kafka、NATS 或 JMS,数据方面用 PostgreSQL、MongoDB 或 Redis。具体选择取决于团队和问题本身。
你能融入现有团队和代码库吗?+
可以,这正是我大部分的工作方式。我会先通过代码评审和架构讨论融入团队,然后端到端地负责功能开发。
你能协助可观测性建设和处理生产故障吗?+
可以。我曾构建 Splunk、CloudWatch 和 Google Cloud Logging 仪表盘与告警,将故障解决时间缩短了 60%。
我们如何开始?+
预约一次 30 分钟的通话,或发邮件告诉我你在构建什么、痛点在哪里。我会在一天内回复。