杨波 06-12 微服务技术专家 eBay 开放平台 研发
12-15携程 微服务核心中间件
拍拍贷框架研发技术总监 容器云平台研发 云原生
微服务:
一种软件开发技术- 面向服务的体系结构(SOA)架构样式的一种变体,
它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。
Api 微服务 案例驱动型 课程 原理+ 编程技术结合 + 工具
Saas 多租户 开源项目 https://github.com/geektime-geekbang/staffjoy
微服务架构
一键部署k8s容器
springboot框架 研发环节 前后分离
- 需求
- 架构设计
- 框架搭建
- 服务实现
- mock + 安全测试
- 可运维架构
- 容器云部署
devops
单页Web应用(single page web application,SPA)
业务边界拆分 解耦
单块架构
拆分时期 : 单块应用 耦合 影响 开发创新 进度
面向对象 面向组件
面向微服务
restfui 微服务
account 微服务 注册 认证 账户信息管理
company 微服务 团队 雇员 班次 核心业务 管理
独立数据库
bot api 消息转发服务 缓冲 通知消息 代理 屏蔽可通知方式 的变更
sms
mail 通知消息微服务
whi am i 前端消息 获取 登录用户详细信息 session 用户会话
前端 mvc应用
反向代理 网关 路由访问 登录鉴权 访问控制 唯一具有 公网ip 服务 json_http
微服务 架构 中心总体思想
应对系统复杂性 分而治之
单一职责 业务划分 受控 易于变更
开发团队 快速并行 交付
逻辑独立性
子域 继续拆分服务
springrest 微服务
springdata gpa
mvc Thymeleaf
servlet.filter 安全路由
支持 云原生 一键部署
共享数据库 的 逻辑隔离机制 公司为 隔离单位
用户在网关鉴权 服务调用 也有相应 鉴权机制
保护 数据 隔离 安全性
数据库 模型设计
核心业务模型 七个 表
面向服务架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,
并通过这些服务之间定义良好的接口和协议联系起来。
阿里
net
谷歌
引进的 技术解决方案
分布式微服务开发框架
自成一体 架构缺乏一致性 同时维护多套体系
深入理解
交付 服务价值 需要 基础设施支撑
配置 :
启动期一次性配置 数据库连接字符串
运行期动态配置 缓存过期时间
业务数量
服务发现 负载均衡:
服务分布在 不同节点上 相互调用
定位找到对方 = 服务发现(微服务架构 基本问题)
服务以 多实例方式 部署
调用方 以 负载均衡 策略 访问 目标 服务实例
容错弹性 :分布式 通过 网络 互联(不稳定、宕机、延迟、出错)
微服务系统 对外暴露 api 通过 api网关 进行管理
网关 支持 反向路由 安全鉴权 日志监控 限流 容错
高级: 蓝绿部署、A/B测试以及灰度发布
用户 认证 – 敏感操作 鉴权
服务之间 也需要 权限管控
metrics监控 : 微服务调用量 延迟 性能监控
业务指标 登录数 下单数
调用链监控: 掌握 微服务 错综复杂的 依赖关系 性能等
容器云环境 的 部署 资源调度发布
滚动发布 蓝绿发布 企业高级发布 机制
10自愈 自动伸缩 节省硬件资源
云环境 节点 宕机 漂移
微服务 自动检测 自动恢复
关注点 抽象封装—软件产品 微服务框架/平台
侧重点 不同
dubbo – zk(zookeeper 服务发现)
nacos 更通用
springcloud + eureka
k8s + service(服务发现+LB负载均衡)
api网关 阿里 内部 业务 耦合 不好开源
spring config 后端基于 git进行 管理
k8s 配置 可以对接 各种 存储机制
sentinel 生产级 限流平台
k8s 健康检查 启动就绪探针 机制
横向比对
springcloud 支持 嵌入式容器
k8s 容器镜像部署 Helm打包 应用商店
k8s 支持 自动故障检测 自愈能力
逻辑隔离 多环境 认证授权机制
使用量限制 配额管理
蓝绿测试 流量调度能力
HSF (High-speed Service Framework),是在阿里巴巴内部广泛使用的分布式 RPC 服务框架。
流量治理 细致
spring 灵活组装
jvm语言栈 吃资源
k8s 活跃 微服务标配
面向服务架构(SOA)是一个组件模型,
它将应用程序的不同功能单元(称为服务)进行拆分,
并通过这些服务之间定义良好的接口和协议联系起来。
社区生态 + 微服务 关注点
springboot + k8s
用现成的 公有云 k8s 不 自己运维
2015 大中台 小前台 中台战略 阿里
业务经验 组织沉淀 抽象 封装 重用
对前台业务 强力支撑
iaas 运维 基础设施 计算 网络 存储 发布
商业能力模块 共享业务 能力 层 形成api 供上层 调用
企业 中高层 业务组织 架构 技术总监 架构师
中台架构 通用型
开发应用 一键部署 到 公有云