10

时间:2017年07月06日星期四
说明:本文部分内容均来自慕课网。@慕课网:http://www.imooc.com
教学示例源码:无
学习学习源码:无

第一章:微服务架构在二手交易平台(转转)中的实践

1-1 微服务架构特点

分享要点-微服务架构

特点
使用原因
演进
通信协议、服务注册与发现
柔性可用实践
服务治理

什么是微服务

微服务是一系列小服务的组合
微服务可以单独运行,独立的进程
微服务整个构建要结合业务能力,围绕业务模型构建
微服务可以进行独立部署
微服务架构是一个去中心化的管理

特点-微服务架构

微服务粒度
独立进程
围绕业务建模
轻量级通信
去中心化管理

1-2 二手交易平台的特点和使用微服务架构的原因

使用原因-转转是什么

二手交易平台

使用原因-二手交易平台功能

发布商品
分类搜索
关键词搜索
推荐商品
消息中心:私信、留言
个人中心等等

使用原因

业务功能多
业务复杂性高
业务高速发展
用户体验好

微服务架构特点&二手交易平台特点

系统高可用
系统高扩展性
快速迭代
持续交付

1-3 微服务架构在转转的演进

演进-如何设计

整体设计
    --水平分层
    --垂直业务拆分
每层设计
    --微服务-业务单元垂直拆分
    --无状态化
    --独立进程、部署、运维
高可用
    --冗余
    --自动恢复

示意图

clipboard.png

总体架构示意图

clipboard.png

演进-存在问题-二手交易特点

业务发展快
业务越来越复杂
研发人员增多
开发瓶颈集中:微服务聚合层

演进-存在问题-微服务聚合层

进一个Process
多人开发冲突
业务耦合性高
性能瓶颈
扩展性差

示意图

clipboard.png

演进

单微服务聚合层 => 多微服务聚合层
业务逻辑拆分 => 业务物理拆分

演进示意图:单微服务聚合层 => 多微服务聚合层

clipboard.png

演进-多微服务聚合层优点

独立
    进程、开发、部署、运维
高效
    快速迭代、持续交付

1-4 通讯协议和服务的注册与发现

通信协议-轻量级通信协议

clipboard.png

通信协议选择

clipboard.png

微服务注册与发现示意图

clipboard.png

clipboard.png

clipboard.png

1-5 柔性可用与服务治理

柔性可用实践-为什么需要

当流量高峰期、短时请求量大时
服务能力有限
性能下降
服务宕机
系统雪崩

柔性设计如何做

目标:保证核心服务可用;非核心服务弱可用,甚至不可用
策略:系统降级、数据层降级、柔性可用策略生效

系统降级

拒绝部分请求
关闭部分服务(业务紧密)

拒绝部分请求示意图

clipboard.png

数据层降级示意图

clipboard.png

服务治理

为什么需要监控
进程状态
及时发现问题
主动权

监控什么

机器资源
进程状态

服务治理-监控手段

clipboard.png

clipboard.png


妙手空空
1.3k 声望368 粉丝

博观而约取,厚积而薄发