如何用Go支撑海外电商架构演进

案例来源:小米
会议地点:深圳
分享时间: 2020-08-15 10:00-11:00

易乐天  |

小米 国际电商团队 基础服务负责人

6年linux C 经验,1年Erlang经验,4年Go经验。技术栈从bootloader、linux内核驱动、linux系统应用开始,经历了虚拟化、IAAS、PAAS、SAAS,到web前后端,被同事称为“真”全栈工程师。 此前在环信从事 IM 系统全栈开发,目前在小米国际电商团队从事电商基础服务开发,推动海外电商架构微服务化。主导的微服务api网关 hal 已经在一级部门10多个业务团队全球4个机房接入了近100个业务服务。

课程概要

案例背景:
小米海外电商业务前期一直处于野蛮发展,业务迭代速度非常快。但海外电商主站主要还是php实现的大单体应用,而且不少页面是php后端渲染。随着功能和用户的产期增长,维护成本越来越高,需要做前后端分离和微服务化架构升级。

解决思路:
1. 前后端分离。用go实现商城后端接口,前端从接口取数据渲染页面。
2. 微服务化。按DDD的思路将主站功能做垂直拆分,耦合度较低的功能拆成微服务。按大中台、小前台的思路做水平拆分,将多条业务线公共功能沉淀为基础服务。
3. 微服务RPC框架。基于gRPC自研微服务RPC框架,支持快速搭建微服务。
4. 微服务API网关。基于traefik实现微服务API网关 hal,支持将后端微服务通过网关暴露给外网用户访问。
5. servicemesh化。将hal网关的组件做成sidecar,朝servicemesh方向发展。

成果:
微服务RPC框架和微服务API网关,在中台化和微服务化中发挥了重要作用。
微服务API网关hal支持路由管理、服务发现、协议转换、统一鉴权、流量治理、监控告警等功能,已经在全球4个机房接入了近100个业务服务,快速支撑着各团队微服务化架构升级。

微服务API网关从立项到落地仅仅用了一个半月时间,目前作为内部开源项目,由多个业务团队共同维护。半年内经过多次版本迭代,功能逐渐稳定,正朝着社区开源方向发展。

听众收益

1. 了解如何用Go应对百万并发流量
2. 了解如何用Go实现微服务RPC框架
3. 了解如何用Go实现微服务API网关
4. 了解如何用Go支撑海外电商系统的架构演进

易乐天  |

小米
国际电商团队 基础服务负责人

6年linux C 经验,1年Erlang经验,4年Go经验。技术栈从bootloader、linux内核驱动、linux系统应用开始,经历了虚拟化、IAAS、PAAS、SAAS,到web前后端,被同事称为“真”全栈工程师。 此前在环信从事 IM 系统全栈开发,目前在小米国际电商团队从事电商基础服务开发,推动海外电商架构微服务化。主导的微服务api网关 hal 已经在一级部门10多个业务团队全球4个机房接入了近100个业务服务。

课程概要

案例背景:
小米海外电商业务前期一直处于野蛮发展,业务迭代速度非常快。但海外电商主站主要还是php实现的大单体应用,而且不少页面是php后端渲染。随着功能和用户的产期增长,维护成本越来越高,需要做前后端分离和微服务化架构升级。

解决思路:
1. 前后端分离。用go实现商城后端接口,前端从接口取数据渲染页面。
2. 微服务化。按DDD的思路将主站功能做垂直拆分,耦合度较低的功能拆成微服务。按大中台、小前台的思路做水平拆分,将多条业务线公共功能沉淀为基础服务。
3. 微服务RPC框架。基于gRPC自研微服务RPC框架,支持快速搭建微服务。
4. 微服务API网关。基于traefik实现微服务API网关 hal,支持将后端微服务通过网关暴露给外网用户访问。
5. servicemesh化。将hal网关的组件做成sidecar,朝servicemesh方向发展。

成果:
微服务RPC框架和微服务API网关,在中台化和微服务化中发挥了重要作用。
微服务API网关hal支持路由管理、服务发现、协议转换、统一鉴权、流量治理、监控告警等功能,已经在全球4个机房接入了近100个业务服务,快速支撑着各团队微服务化架构升级。

微服务API网关从立项到落地仅仅用了一个半月时间,目前作为内部开源项目,由多个业务团队共同维护。半年内经过多次版本迭代,功能逐渐稳定,正朝着社区开源方向发展。

听众收益

1. 了解如何用Go应对百万并发流量
2. 了解如何用Go实现微服务RPC框架
3. 了解如何用Go实现微服务API网关
4. 了解如何用Go支撑海外电商系统的架构演进

CopyRight © 2008-2020 Msup & 高可用架构

京ICP备09001521号