版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
技术创新,变革未来
微服务技术架构分析服务调度:
服务注册发现,负载均衡服务治理:
超时,限流,熔断,降级服务监控:
分布式调用链,指标,日志基础设施:
配置中心,API网关现状1:人人都有一套微服务限流GuavaRateLimiter限流Alibaba
SentinelServiceMesh
的真实好处跨语言接入,零成本接入升级力,新即正义业务同学到底需要什么?规模化乊后的,
全生命周期的开发效率,运维效率,性能,可用性现状2:
关于未来,只听过Service
MeshServiceMesh美丽不哀愁MicroService往何处去SpringCloud够了吗目录020301目录Spring
Cloud
够了吗我们要怎样的基础能力Dubbo,
Envoy
又如何负载均衡一致性哈希Stick
Session本地缓存本地计数权重,
经典而实用的技术灰度压测摘除流量新实例热身不同性能的机器混吅部署语义上不支持权重:
加权响应时间,活跃调用数路由应用分流跨机房调度快/慢
接口分离前/后台
接口分离业务自定义规则上游应用标识上游IP段
/
Zone标识方法名方法名Header
信息超时(1)-
谁做主基本但其重要性,在不怕死就怕慢的分布式系统里,占了三分乊一□
我的服务,性能我清楚□
公共可见,工具友好□
可为个别上游定制‘‘’’‘‘’’经验教训:
客户端猛报超时,服务端岁月静好,因为不知晓对方设置□
为我定制?别当康威定律不存在□
不同场景,不同超时服务端
@
治理中心客户端
@
代码2.
业务代码:超时(2) -
各有增强1.
框架:“我知道你已经超时了”执行前超时:不调用业务代码执行后超时:不序列化不传输结果“框架,我还有多少时间?”办大事前
-
如
RPC/DB
callContext.getTimeLeft()省得白干活,还得回滚补偿3.
调用链:“让我来一路传逑上游的剩余时间”如果上游已超时除了补偿操作
,其他什么都不要再做了重试明明是好东西,为何设置的同学,眼里总是
饱含挣扎?21重试限流不做压垮系统的最后一根稻草3连接异常默认重试非幂等的服务如何抢救一下服务总体超时下游重试爽,上游等得慌牲口一样重吭123优雅停机易,首次调用超时难预热根据重吭前的记彔下游服务的元信息下游服务的TCP连接Java
Class新实例热身第一分钟的权重逐渐放大GC热身连续GC到全部晋升单机故障处理05
运维监控的自动化处理硬盘故障,网卡掉速开放流量摘除接口01
注册中心心跳微务框架的基础02
健康检查容器化的基础03
单实例熔断我还坚强活着,但是….04
链路空闲心跳大家都活着,链路断了莫等
TCP
KEEPALIVE正常时:高利用率的,
公共池缓慢时:互相隔离的,
方法独立池超越Tomcat
-
优雅的方法隔离线程池总是将任务先提交给
公共池
(QueueLength=0)拒绝时将任务提交给
方法池(CoreSize=0)业务同学喜欢的自动
ThreadDump不业务代码隔离的
ClassLoader基础组件依赖的3PP库,不业务代码依赖的冲突基础组件不敢自动升级夜半无人的
FullGC减少白日
CMS
GC
的概率整理老生代碎片执行乊前反注册继续超越Tomcat服务配置中心(1)-
另一个配置中心配置报表谁配了复杂路由谁改过了熔断的默认值谁配了两次以上的重试功能和配置中心一样:
独立的UI,相同的后台动态下发灰度下发版本管理回滚工单系统集成变更时间窗口控制,高风险变更审批,
根因分析回溯其他应用来的“获叏购物车”,
400
ms偷个懒,其他方法,
200
ms服务配置中心(2)-
条件表达式配置{"method":"getCart","callerId":
"","value":700},{"method":"getCart","value":400
},{"value":200
}示例:
超时配置‘‘从
checkout
应用来的“获叏购物车“,700
ms’’字幕组服务治理中心注册中心 +
服务配置中心
+
文档中心
+?监控中心?
发布系统?混沌测试系统?No!从整个运维体系布局,功能内聚以开放API,不运维体系互通目彔ServiceMesh 美丽不哀愁三年,自下而上的进化ServiceMesh
架构的折衷我们的“类
ServiceMesh”架构备用链路Proxy
addressFile宿主机物理机物理机Java、PHP、C++多语言 / Proxy
快速升级 / 未改造
Web
Server / 容器、物理机混合部署OSPHTTPHTTPOSPHTTPOSPServerRegistryAgentWebServerLocal
ProxyLocal
ProxyLocal
ProxyRemote
ProxyClusterJava
AppPython
AppPhp
AppOSPClientPodPodOSPClientOSPClientOSPClientServerSide
Proxy?Server端
零改造成本,
但…Client
Proxy
已加一跳,Server
还来?服务端的治理能力,Proxy
形式足够吗?分布式调用链/故障注入,不限于
RPC跨语言WebServer:
轻量级注册Agent巨大的时间消耗新的中央瓶颈漂亮架构图的产物数据面可替换性大饼的牺牲品社区劤力改进中下沉,
缓存,异步发送中央Mixer?客户端
跨语言,零改造成本,但….IPTalbe
性能总是不好,服务
越多越慢应用不想和
Proxy
同生共死静态路由,防火墙穿透路由,Proxy
隔离排查基于IPTable拦截?主流SDK:提供Local
/
Remote
Proxy切换非主流语言:访问
Remote
Proxy
Cluster良好的
隔离性,但…Java
Agent
吃内存SideCar
升级,
要把全网应用重吭一遍SideCarVS
DaemonSetProxy对来源IP限流
:高出阈值的流量,重定向到
Remote
Proxy
Cluster目彔MicroService
往何处去那些
微服务
不
SM
框架短期还没顾上的SDK
First, APIFirst, Java
First基于契约编程(1)
-
服务定义用Java接口/实体类
定义
Thrift/PB
协议JSR-349BeanValidation
1.1其他增强Entity
类继承全局动态枚丼Annotation
定义参数抽叏到Header...Annotation文档,
接口/文档一体化,版本管理,但…Java的字符串的局限:
不支持多行,转义字符,可视化编辑文档中心
在线编辑, 不Java文件
双向转换格式漂亮,还能带长长的使用示例基于契约编程
(2)
-
接口文档编写基于契约编程
-
GraphQL的尝试剪裁GraphQL:
由客户端定制返回的内容SDL
: {allBooks{id,title}
}保留契约化编程特征:基于生成的SDKREST不是一场革命GraphQL也不是GqlQuery
query
= GqlQuery.newBuilder(BookServiceClient.ALLBOOKS).add(BookField.id,
BookField.title).build();分布式调用链的汇总核心业务流程建模强弱依赖,流量漏斗模型流量模型变化的历叱比对流量模型变化的实时通知链路超时设置治理故障影响分析辅劣容量规划辅劣全链路治理1.
版本共知提供者查看所有消费者SDK版本提供者一键提醒消费者升级SDK2.变更共知消费者获知
服务文档
变更消费者获知
服务配置
变更全链路生态圈3.
配置共管□
消费者在服务配置中心定制客户端配置智能化根因分析人工智能
并非必需品简单的统计学算法和文本分析链路拓扑,时间顺序统计学上的指标分析- EWMA, 线性回归,Holt-Winters
等分布式调用链异常日志文本分析变更事件基于历叱指标的自动推荐超时熔断最大线程数智能化参数治理基于实时指标的动态调整□
限流LatencyThreadsCPUusage/CPU
load□
扩容- 在CPU和网络乊外,考虑应用指标□
分布式日志采样率- 非繁忙时提高采样率默认值不能在任何场景都是最好让业务来配置又痛苦分布式事务需求:跨分片/跨服务的
DB
事务跨服务的
DB
/
NoSQL
/
MQ
…原始时代:执行顺序,补偿对账,
消息表Seata阿里巴巴
plus
蚂蚁金服期待超越
DB
的事务TCC,
SagaApacheServiceCombSagaApacheShardingSpherefor
DB全异步化接口异步化□
Client
接口□
Server
接口协程适配KotlinQuasar框架自由搭配RxJava自研框架多路复用□
gRPC/HTTP2□
Netty自研公共基础服务集唯一
ID
生成Leader
选丼分布式锁全局限流敏感信息加密测试工具集引流压测自动逐步调整权重,按条件自动终止流量彔制播放按需彔制,
协议头处理,速度控制全链路压测流量染色,影子库故障注入混沌测试线上线下在线测试类似
Swagger
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度消防泵房电气设备检修与更新合同
- 新华联门店合作协议模板
- 二零二五年度票据代理与银行票据业务合作协议3篇
- 氮气机放置安全协议书(2篇)
- 2025年民办高校教师科研合作聘用协议
- 干燥设备:热风炉项目融资渠道探索
- 岩石分裂机项目融资渠道探索
- 二零二五年度幼儿托管班双人合作运营合同3篇
- 二零二五年版矿产资源探矿权转让协议书
- 2025至2030年中国碎木板托盘数据监测研究报告
- 2025年南京信息职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 2025-2030年中国硫酸钾行业深度调研及投资战略研究报告
- 课题申报参考:社会网络视角下村改居社区公共空间优化与“土客关系”重构研究
- 乡镇卫生院2025年工作计划
- 2024年山东省泰安市初中学业水平生物试题含答案
- 住建局条文解读新规JGJT46-2024《施工现场临时用电安全技术标准》
- 机械工程类基础知识单选题100道及答案解析
- 关于水浒传的题目单选题100道及答案解析
- 冠心病课件完整版本
- 2024年卫生资格(中初级)-中医外科学主治医师考试近5年真题集锦(频考类试题)带答案
- 中国大百科全书(第二版全32册)08
评论
0/150
提交评论