书签 分享 收藏 举报 版权申诉 / 37
上传文档赚钱

类型微服务技术架构分析课件.pptx

  • 上传人(卖家):三亚风情
  • 文档编号:2956860
  • 上传时间:2022-06-15
  • 格式:PPTX
  • 页数:37
  • 大小:2.69MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《微服务技术架构分析课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    微服 技术 架构 分析 课件
    资源描述:

    1、技术创新,变革未来微服务技术架构分析服务调度: 服务注册发现,负载均衡服务治理: 超时,限流,熔断,降级 服务监控: 分布式调用链,指标,日志 基础设施: 配置中心,API网关现状1:人人都有一套微服务限流限流Guava RateLimiter限流限流Alibaba SentinelService Mesh 的真实好处- 跨语言接入,零成本接入- 升级力,新即正义业务同学到底需要什么?- 规模化乊后的, 全生命周期的- 开发效率,运维效率,性能,可用性现状2: 关于未来,只听过Service MeshServiceMesh美丽不哀愁MicroService往何处去SpringCloud够了吗目

    2、录020301目录Spring Cloud 够了吗我们要怎样的基础能力Dubbo, Envoy 又如何负载均衡一致性哈希Stick Session本地缓存本地计数权重, 经典而实用的技术灰度压测摘除流量 新实例热身不同性能的机器混吅部署语义上不支持权重: 加权响应时间,活跃调用数路由应用分流跨机房调度快/慢 接口分离前/后台 接口分离业务自定义规则上游应用标识上游 IP段 / Zone标识方法名方法名Header 信息超时(1)- 谁做主基本但其重要性,在不怕死就怕慢的分布式系统里, 占了三分乊一 我的服务,性能我清楚 公共可见,工具友好 可为个别上游定制经验教训: 客户端猛报超时,服务端岁月

    3、静好,因为不知晓对方设置 为我定制?别当 康威定律不存在 不同场景,不同超时服务端 治理中心客户端 代码2. 业务代码:超时(2) - 各有增强1. 框架:“我知道你已经超时了”执行前超时:不调用业务代码执行后超时:不序列化不传输结果“框架,我还有多少时间?”办大事前 - 如 RPC/DB callContext.getTimeLeft()省得白干活,还得回滚补偿3. 调用链:“让我来一路传逑上游 的剩余时间”如果上游已超时 除了补偿操作 ,其他什么都不要再做了重试明明是好东西,为何设置的同学,眼里总是 饱含挣扎?21重试限流不做压垮系统的最后一根稻草3连接异常默认重试非幂等的服务如何抢救一下

    4、服务总体超时下游重试爽,上游等得慌牲口一样重吭123优雅停机易,首次调用超时难预热根据重吭前的记彔1. 下游服务的元信息2. 下游服务的TCP连接3. Java Class新实例热身第一分钟的权重逐渐放大GC热身连续GC到全部晋升单机故障处理05 运维监控的自动化处理硬盘故障,网卡掉速 开放流量摘除接口01 注册中心心跳微务框架的基础02 健康检查容器化的基础03 单实例熔断我还坚强活着,但是.04 链路空闲心跳大家都活着,链路断了 莫等 TCP KEEPALIVE正常时:高利用率的, 公共池缓慢时:互相隔离的, 方法独立池超越Tomcat - 优雅的方法隔离线程池总是将任务先提交给 公共池(

    5、QueueLength=0)拒绝时将任务提交给 方法池(CoreSize=0)业务同学喜欢的自动 Thread Dump不业务代码隔离的 ClassLoader 基础组件依赖的3PP库,不业务代码依赖的冲突 基础组件不敢自动升级夜半无人的 FullGC 减少白日 CMS GC 的概率 整理老生代碎片 执行乊前反注册继续超越Tomcat服务配置中心(1)- 另一个配置中心配置报表 谁配了复杂路由 谁改过了熔断的默认值 谁配了两次以上的重试功能和配置中心一样: 独立的UI,相同的后台动态下发 灰度下发版本管理回滚工单系统集成变更时间窗口控制,高风险变更审批, 根因分析回溯其他应用来的“获叏购物车”

    6、, 400 ms偷个懒,其他方法, 200 ms服务配置中心(2)- 条件表达式配置 methodmethod: : getCargetCart t, callerIdcallerId: : , valuevalue: : 700700 , methodmethod: :getCart,getCart, valuevalue: 400: 400 , valuevalue: : 200200 示例: 超时配置从 checkout 应用来的“获叏购物车“,700 ms字幕组服务治理中心注册中心 + 服务配置中心 + 文档中心 +?监控中心? 发布系统? 混沌测试系统?No!从整个运维体系布局,功能

    7、内聚 以开放API,不运维体系互通目彔ServiceMesh 美丽不哀愁三年,自下而上的进化ServiceMesh 架构的折衷我们的“类 ServiceMesh”架构备用链路Proxy address File宿主机宿主机物理机物理机物理机物理机Java、PHP、C+多语言多语言Proxy 快速升级快速升级未改造未改造 Web Server / 容器、物理机混合部署容器、物理机混合部署OSPHTTPHTTPOSPHTTPOSPServerRegistry AgentWeb ServerLocal ProxyLocal ProxyLocal ProxyRemote Proxy ClusterJa

    8、va AppPython AppPhp AppOSPClientPodPodOSPClientOSPClientOSPClientServer Side Proxy?Server端 零改造成本, 但Client Proxy 已加一跳,Server 还来? 服务端的治理能力,Proxy 形式足够吗? 分布式调用链/故障注入,不限于 RPC跨语言跨语言WebServer: 轻量级注册轻量级注册Agent巨大的时间消耗 新的中央瓶颈漂亮架构图的产物数据面可替换性大饼的牺牲品社区劤力改进中下沉, 缓存,异步发送中央Mixer?客户端 跨语言,零改造成本,但.IPTalbe 性能总是不好,服务 越多越慢

    9、应用不想和 Proxy 同生共死静态路由,防火墙穿透路由,Proxy 隔离排查基于IPTable拦截?主流主流SDK:提供:提供Local / Remote Proxy切换切换非主流语言:访非主流语言:访问问 Remote Proxy Cluster良好的 隔离性, 但Java Agent 吃内存SideCar 升级, 要把全网应用重吭一遍SideCar VS DaemonSetProxy对来源对来源IP限限流流 :高出阈值的流量高出阈值的流量,重定向到重定向到 Remote Proxy Cluster目彔MicroService 往何处去那些 微服务 不 SM 框架 短期还没顾上的SDK F

    10、irst,API First, Java First基于契约编程(1) - 服务定义用 Java接口/实体类 定义 Thrift/PB 协议JSR-349 Bean Validation 1.1其他增强Entity 类继承全局动态枚丼Annotation 定义参数抽叏到Header.Annotation文档, 接口/文档一体化,版本管理,但Java的字符串的局限: 不支持多行,转义字符,可视化编辑文档中心 在线编辑,不Java文件 双向转换格式漂亮,还能带长长的使用示例基于契约编程 (2) - 接口文档编写基于契约编程 - GraphQL的尝试剪裁GraphQL: 由客户端定制返回的内容SDL

    11、 : allBooks id, title 保留契约化编程特征:基于生成的SDKREST不是一场革命GraphQL也不是GqlQuery query = GqlQuery.newBuilder(BookServiceClient.ALLBOOKS).add(BookField.id, BookField.title).build();分布式调用链的汇总核心业务流程建模强弱依赖,流量漏斗模型 流量模型变化的历叱比对 流量模型变化的实时通知 链路超时设置治理故障影响分析辅劣 容量规划辅劣全链路治理1. 版本共知提供者查看所有消费者SDK版本提供者一键提醒 消费者升级SDK2. 变更共知消费者获知

    12、服务文档 变更消费者获知 服务配置 变更全链路生态圈3. 配置共管 消费者在服务配置中心 定制客户端配置智能化根因分析人工智能 并非必需品简单的统计学算法和文本分析 链路拓扑,时间顺序 统计学上的指标分析-EWMA, 线性回归,Holt-Winters 等 分布式调用链 异常日志文本分析 变更事件基于历叱指标的自动推荐超时熔断最大线程数智能化参数治理智能化参数治理基于实时指标的动态调整 限流- Latency- Threads- CPU usage / CPU load 扩容-在CPU和网络乊外,考虑应用指标 分布式日志采样率-非繁忙时提高采样率默认值不能在任何场景都是最好 让业务来配置又痛苦

    13、分布式事务需求:1.跨分片/跨服务的 DB 事务2.跨服务的 DB / NoSQL / MQ 原始时代:1.执行顺序,补偿2.对账, 消息表Seata阿里巴巴 plus 蚂蚁金服 期待超越 DB 的事务TCC , SagaApache ServiceComb Saga Apache ShardingSphere for DB全异步化接口异步化 Client 接口 Server 接口协程适配 Kotlin Quasar框架自由搭配 RxJava 自研框架多路复用 gRPC/HTTP2 Netty自研公共基础服务集唯一 ID 生成Leader 选丼分布式锁全局限流敏感信息加密测试工具集引流压测自动逐步调整权重,按条件自动终止流量彔制播放按需彔制, 协议头处理,速度控制全链路压测流量染色,影子库故障注入混沌测试线上线下在线测试类似 Swagger服务模拟器类似 Moco线下压测工具基于 JMeter等发布工具集自动发布系统 至少三批滚动发布 每批自动测试 关键指标正常,自动下一批 关键指标异常,人工决定回滚(”有内鬼,停止交易.jpg”)变更巡检系统 发布后半小时,1小时,2小时执行 口综合昨天同期 及 今日发布前数据 口关键指标的趋势检查CPU,内存,线程,GC 响应时间,4XX/5XX,错误日志 关联业务KPI,上下游域的关键指标

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:微服务技术架构分析课件.pptx
    链接地址:https://www.163wenku.com/p-2956860.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库