- 8
- 0
- 约7.46千字
- 约 49页
- 2021-09-10 发布于广东
- 举报
微服务应用设计原则 32 微服务应用设计原则 33 微服务平台 - 企业 IT 基础 DevOps :负责从需求到计划任 务,团队协作,再到质量管理、 持续集成和发布。 个人基础环境:即微服务应用平 台,他的目标主要就是要支撑微 服务应用的设计开发测试,运行 期的业务数据处理和应用的管理 监控。 IT 基础设施:各种运行环境支撑 如 IaaS (VM 虚拟化 ) 和 CaaS ( 容器 虚拟化 ) 等实现方式。 34 微服务应用平台目标 微服务平台的主要目标 主要就是要支撑微服务应用 的 全生命周期管理 ,从需求 到设计开发测试,运行期的 业务数据处理和应用的管理 监控等。 35 微服务应用平台总体架构 开发集成:微服务平台需要具备 的一些工具和仓库 运行时:微服务平台的 基础能力 和分布式 的 支撑能力,微服务运行 容器运行在这个平台之上。 监控治理:对受管的微服务进行 统一的监控、配置等能力。 服务网关: 负责与前端的 WEB 应用 移动 APP 等渠道集成,对前 端请求进行认真鉴权,然后路由转 发。 36 微服务应用平台运行架构 37 微服务带来的问题 38 关键问题 - 服务注册和路由 服务在启动的时候,会将 自己要发布的服务 注册到服 务注册中心 ,运行时,如果 需要调用其他微服务的接口, 本地缓存或到注册中心获取 服务提供者的地址,获得地 址后,通过微服务容器内部 的 负载均衡 进行路由调用。 39 关键问题 - 安全认证 安全认证方面,可以基于 Spring Security 结合 Auth2 再加 上 JWT ( Json web token )做 安全令牌,实现统一的安全认证 与鉴权,使得微服务之间能够 按 需隔离和安全互通 。 认证鉴权一定是个 公共服务 , 而不是多个系统各自建设。 40 关键问题 - 集中配置 配置文件主要有 静态配置和动态配 置 两种。静态配置通常是在编译部署 包之前设置好。动态配置则是系统运 行过程中需要调整的系统变量或者业 务参数。 ? 通过制定规范控制 配置与介质分离 , 配置不要放在 Jar 包里。 ? 配置的方式要统一,格式、读写方 式、变更热更新的模式尽量统一,要 采用 统一的配置框架 ? 需要有个 配置中心 来统一管理业务 系统中的配置信息。 41 关键问题 - 分布式事务 微服务架构的系统下,进程成倍增多, 分布式事务一致性的问题更加明显。微服 务之间是独立的、调用协议也是无状态的, 要解决的是一定时间后的数据达到 最终一 致 状态,一般采用传统的业务补偿与冲正 方式。 可靠事件模式:即事件的发送和接收保 障高可靠性,来实现事务的一致性。 补偿模式: Confirm Cancel ,如果确 认失败,则全部逆序取消。 TCC 模式: Try Confirm Cancel ,补偿 模式的一种特殊实现 通常转账类交易会采 用这种模式。 42 关键问题 - 同步调用 微服务架构下,相对于传统 部署方式,存在更多的分布式 调用,“如何在不确定的环境 中交付确定的服务”,可以理 解为,我所依赖的服务的可靠 性是 无法保证 的情况下,我如 何保证自己能够 正常的提供服 务 ,不被我依赖的其他服务拖 垮? 43 关键问题 - 同步调用 SEDA : staged event- driven architecture 本质上 就是采用 分布式事件驱动 的 模式,用 异步模拟 来同步, 无阻塞等待,再加上资源分 配隔离结起来的一个解决方 案。 44 微服务相关技术 -dubbo Dubbo (开源分布式服务框架),阿 里巴巴公司开源的一个高性能优秀的服务 框架,使得应用可通过高性能的 RPC 实 现服务的输出和输入功能, 主要核心部件: Remoting: 网络通信框架,实现了 sync-over-async 和 Logo request- response 消息机制 . RPC: 一个远程过程调用的抽象,支持 负载均衡、容灾和集群功能 Registry: 服务目录框架用于服务的注 册和服务事件发布和订阅 45 微服务相关技术 - Spring Cloud Spring Cloud 是一系列框架的有序集合: 利用 Sprin
原创力文档

文档评论(0)