勿忘初心 厚德载物

创业型千万级社交电商 萌店SOA架构实践之路

Posted on By JettyLee

微盟 谢茂森讲解

背景

初创企业缺钱、缺人,面对海量业务增长,只能选用熟悉的技术去应对。 同时就会造成系统的异构,同时一旦业务量达到一定的量级,系统就很难去维护和扩展。

为什么说难于维护和扩展?

架构层面

1.数据公用,易一崩全崩;
2.接口乱,无法响应高并发的请求;

监控层面

主要是没有统一监控中心,没有办法全面详尽的监控系统性能。

发展层面

企业积累层面多个技术栈造成技术交流差,没有有效积累。

治理工作

1.业务拆分

分为核心模块(商品、订单、用户、支付)和业务模块

2.soa架构

选用JAVA 技术栈为主要技术栈,因为java开发比较好招聘,而且到岗率较高。

核心技术体系
1. RPC框架

选用DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案

2. 注册中心
3. 服务管理
4. 配置中心

因为要求按需定制,所以自行开发

5. 监控中心

选用大众点评的CAT基于Java开发的实时应用监控平台,包括实时应用监控,业务监控。

6. 发布系统

选用开源项目webistrano
1) 支持多种语言(未治理前技术栈多种)
2) 支持灰度发布及回滚

3.治理过程

制定治理手册便于员工了解,注:小公司甚至可以贴出来

4.治理技术细节

1)SOA-Proxy (访问代理)

1》为非JAVA语言提供接入
2》实现系统逐步重构迁移

2)SOA 4层架构

consumer(消费端应用)
==>client(为上级提供接口依赖)
==>interface(上级生成服务代理、下级服务注册)
==>server(处理业务)
==>provider

3)业务异常体系细节

1》 错误码集中管理
2》 错误信息要明确

4)采用云平台
5)服务降级

考虑核心,倒三角模型

6)实时监控

1》 要图形化 (图表)
2》 要量级化 (数字)

7)应用错误信息、具体接口调用链

要详尽

8)接口日志

1》 要提供多种方式查询
2》 日志要包含各种详细信息(详见最后一夜PPT)


PPT

ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt ppt