干货 | 领域化、中台化和多Region化,携程账号系统演进之路

作者简介

Scai,携程高级研发经理,多年深耕于账号中台,持续推进中台的技术架构演进及性能优化。

一、前言

在互联网早期时代,账号系统的功能非常广泛,包括账号管理、登录认证相关能力以及维护各类用户信息,比如头像、昵称、积分、等级等。随着业务的发展,每个功能逐渐分化出自己的需求和架构侧重点,独立出各自的领域服务也成了业界共识。

本文分享的账号系统,指的是提供用户账号管理、登录认证相关能力的系统。介绍了携程在不断发展的过程中,账号系统在领域化、中台化和多Region化方向上的演进、探索和一些思考。

二、领域化

微服务迅猛发展阶段,账号系统分裂出了很多应用。比如,专门支持三方登录的应用,专门保存账号实名信息的应用,针对不同平台的接入应用。一开始确实可以满足迅速开发上线的需求,当应用裂变到几十个的时候,应用分层不合理,领域逻辑不内聚带来的问题逐渐显现出来:

1)用户请求会经历多个应用之间的RPC调用,性能和稳定性受影响。

2)操作无法原子性,易出现脏数据。

3)应用过多,开发、运维、测试范围大,影响效率。

领域化是对账号系统的全面重构,有以下两个目标:

1)合理划分领域,逻辑内聚。

2)改造需要对业务透明。

2.1 全面梳理,重新划分领域

f205b401ac61bccaa258289bcfec2534.png

账号系统功能主要分为3个类型:

1)核心功能:负责管理和维护账号系统的核心功能和数据。由于涉及到用户的核心数据,相关插入、变更接口只可暴露给业务BFF层。

  • 账号领域:包括账号信息查询;账号注册/注销;手机、邮箱、三方等数据的绑定/解绑;openid的生成;密码的管理和认证等功能。

  • 登录态领域:负责登录态生成、验证、续期、踢出、过期删除等功能。

  • 日志监控领域:负责记录账号相关业务埋点和日志。

2)辅助功能:不仅可以被账号相关业务依赖,也可以开放出去供类似业务场景的接入。

  • Token(临时凭证)领域:负责Token的生成、验证、过期删除等功能。

  • 验证码领域:负责验证码生成、发送、验证等功能。 

3)接入功能:负责账号相关的业务功能接入,包括端上接入和内网服务接入。

  • BFF层:主要负责各类业务逻辑的组合(注册、登录、改绑手机等)以及接入方权限的控制。

  • 前端UI、SDK:前端显示UI以及提供出去供业务接入的SDK。直接对接BFF层。

其他一些业务中必须依赖的模块,如风控模块,依赖公司相应团队提供的能力即可。

2.2 读写对比,透明改造

账号系统非常核心,上游是公司的各类业务,依赖方非常多,牵一发而动全身。同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值