1、vivovivo电商全球化架构实践电商全球化架构实践刘锦程刘锦程 vivovivo互联网架构师互联网架构师个人简介个人简介 vivo互联网架构师,外销商城技术负责人 10+年互联网电商架构经验,内部认证讲师 主导外销商城从0到1,持续建设10+海外国家/地区商城站点,有着丰富的架构设计经验、合规改造经验目录目录 国际化 本地化 合规内容概述内容概述主要内容:1、业务出海的业务出海的必修课必修课,多语言、多时区、租户隔离、全球化部署、合规隐私,如何处理应对,是否有更好的方案,让业务开发人员的精力聚焦在业务本身。2、技术技术支撑业务发展支撑业务发展,随着出海业务发展,各种需求纷至沓来,通用需求覆盖
2、市场更广,本地化需求更贴切当地市场需要,哪类需求更加高优,业务既要也要还要,技术如何支撑应对。听众受益:1、对海外业务场景有基本的认识2、了解海外业务典型问题及相关解决方案3、了解vivo海外电商的架构升级路径案例背景案例背景随着经济全球化日益加深,国产品牌纷纷布局海外,vivo官方商城业务也覆盖了海外多个国家/地区。对于海外业务开展过程中遇到的一些典型问题和相关解决方案,vivo商城技术团队有一些沉淀,借此机会与大家分享交流。目录目录 国际化国际化 本地化 合规关键实践:国际化关键实践:国际化 -多语言多语言 海外业务面向多国家地区,各国家地区使用不同语言,为了提供更好的用户体验,需要满足语
3、言的国际化要求。英文英文中文中文泰文泰文关键实践:国际化关键实践:国际化 -多语言多语言英文英文中文中文泰文泰文 传统的传统的i18ni18n方案痛点方案痛点维护困难维护困难发现问题后需要复杂的定位/修改过程流程繁琐流程繁琐需要运营/产品/测试/开发全员参与周期冗长周期冗长需要完整版本迭代上线后才能生效关键实践:国际化关键实践:国际化 -多语言多语言9中心化方案中心化方案客户端方案客户端方案关键实践:国际化关键实践:国际化 -多语言多语言10点击播放点击播放关键实践:国际化关键实践:国际化 -多时区多时区用户时区存储时区 典型问题典型问题统计统计错乱错乱统计昨天的订单数,结果却是前天的订单数程
4、序异常程序异常保存2020-03-29 02:31:09大量日志报错展示错乱展示错乱表单查询条件的时间字段多了2个半小时关键实践:国际化关键实践:国际化 -多时区多时区1.0 1.0 单机房单时区单机房单时区 背景背景印度商城启动时运维从维护角度考虑要求外销数据库/服务器统一使用北京时间 已解决已解决统一时区:统一时区:数据库/服务器统一为北京时区统一方案:统一方案:满足功能的初级解决方案 不足不足对业务开发不透明对业务开发不透明:部分场景需要手动增加注解时区界限不明:时区界限不明:同一代码块中,同时存在两种时区关键实践:国际化关键实践:国际化 -多时区多时区2.0 2.0 多机房多时区多机房
5、多时区 背景背景陆续上线了泰国、马来、法国等多个官方商城需要支持多机房多个时区的需求欧洲地区服务器要求设置为当地时区 已解决已解决业务开发无感知:业务开发无感知:框架自动转换时区时区界限清晰:时区界限清晰:服务器/DB都统一为系统时区 不足不足夏令时夏令时:临界值无法区分关键实践:国际化关键实践:国际化 -多租户隔离多租户隔离技术方案技术方案实际部署实际部署代码隔离应用隔离存储隔离关键实践:国际化关键实践:国际化 -全球化部署全球化部署 背景背景官方商城使用统一域名地区码/in/my/fr区分各个站点国内能正常访问各地区站点 解决方案解决方案接入层识别地区码并路由应用层IP库匹配无法匹配则转发
6、到官网关键实践:国际化关键实践:国际化 -整体技术框架整体技术框架 整体技术框架整体技术框架接入层接入层入口统一拦截,识别地区、品牌信息业务层业务层上下文线程绑定,业务开发无感知路由层路由层各技术组件按照制定规则路由分发目录目录 国际化 本地化本地化 合规关键实践:本地化关键实践:本地化1 12 23 3能力平台化能力平台化运营可直接配置,实时生效服务可编排,自由度高插件化插件化SPI服务化,可快速接入和切换改造工作量相对较少配置化配置化代码中逻辑实现,快速上线,实现成本低适合个性化差异较小的功能点More Loc