ServiceComb java SDK详解
eventLoopContext-created 如果持续增加,说明有计划外的线程切换,需要定位 • threadPool 以线程池为单位进行统计,输出最小线程数、最大线程数、 当前线程数、当前排队任务数,以及平均每秒提交任务数、完成 任务数等等数据 • consumer 以transport、调用结果两个维度进行分组,以operation为 单位输出tps、平均时延、最大时延 • producer 以tr 默认2个线程池,每个池中线程数等于cpu数 – 参考metrics统计结果 • cpu 带宽允许的情况下,cpu应该基本占满 • 网络带宽 关注是否已经占满带宽 • RSS 如果环境(硬件、os、驱动)支持RSS特性,确认队列数是否正确配置、中断是否均匀绑定了cpu、是否关闭了自动软中断负载均衡(不关闭会导致中断绑定, 在一段时间后失效) rest server verticle rest client verticle0 码力 | 21 页 | 1.15 MB | 1 年前3张波-虎牙直播在微服务改造中的实践
动态切换节点的能力 3、支付等业务, 对故障时间敏感, 手工切换无法满足需求 背景 目标 1、提供http,tcp的业务拨测能力, 能够按照预定条件进行对负载 均衡RS节点的摘除,屏蔽故障 2、保证拨测任务的SLA,能够按时执行,故障屏蔽秒级生效时间 方案介绍 落地效果 故障节点发现时间 之前分钟级 10s内 流量摘除生效时间 之前10分钟 30s内 故障屏蔽实效 之前10分钟 1分钟内 分布式高可用最小集群数量 Config2+Admin3+Portal*2+Mysql =8 Nacos*3+MySql=4 配置格式校验 支持 支持 通信协议 HTTP HTTP 数据一致性 数据库模拟消息队列,Apollo定时 读消息 HTTP异步通知 单机读(tps) 9000 15000 单机写(tps) 1100 1800 技术选型 • Dubbo生态产品, Nacos源于阿里内部服务的开源实现;0 码力 | 27 页 | 1.03 MB | 1 年前3Java Chassis通信处理详解 - 通信优化实践
Eventloop 连接 …… 业务线程 业务线程 业务线程 业务线程 Eventloops Executor 线程 …… 线程 队列 Executor 线程 …… 线程 队列 …… Consumer 消费端,主要需要处理的问题是如何更 高效地将请求推送到对端去,然后拿到 应答信息。 透明RPC Consumer业务线程 …… Business Logic 队列 Producer-多线程池 Producer ExecutorWrapper Eventloop Eventloop …… Eventloop Eventloop Executor Business Logic …… Business Logic 队列 Executor Business Logic …… Business Logic 队列 …… Producer-隔离仓 Producer Eventloops …… Executor Executor Operation:a/b/c…… Operation:1/2/3…… Producer-灵活的线程池策略 Microservice (Process) Schema(Interface)0 码力 | 17 页 | 2.22 MB | 1 年前3可发布版-美团点评微服务OCTO-曹继光
check second check Provider ������(���������)� • cpu�� • ���� • fullgc ����� • ��队列 DelayQueue • ���� 500ms ��500ms ��������Double check�� 核心设计解析(&):SDBnnEP V 核心实现解析 W 服务治理系统:10 码力 | 35 页 | 14.10 MB | 1 年前3微服务场景下的数据一致性解决方案 - 殷湘
外柔 未来的开发计划 • 更易使用的数据一致性方案 • 集成调用链追踪 (Zipkin),定位性能瓶颈 • 可视化事务拓扑,定位异常最多的服务 • 集成熔断功能 (Hystrix) • 实现基于消息队列的通信模式 • …… • https://issues.apache.org/jira/projects/SC 谢谢 http://servicecomb.io https://github0 码力 | 31 页 | 4.28 MB | 1 年前3Metrics in ServiceComb 1.0.0-m1
现上我们偏向以取值方式区 分为两种: • 1. 直接取值 • 任何时候都能够立刻获取到最新值,例如资源使用率,包括CPU使用率,线程数, Heap使用数据等等,还有调用累加次数,当前队列长度等等。 • 2. 统计取值 • 经过一个特定的时间周期才能够统计出值,这个时间间隔我们可以称为窗口周期 (Window Time)或统计周期,例如: • a) 多值取其一的,比0 码力 | 18 页 | 938.89 KB | 1 年前3《Saga分布式事务解决⽅案与实践》演讲者/姜宁
Interceptor Alpha A Started A Started B Started Saga Started 未来的开发计划 • Alpha⾼高可⽤用多租户架构 • 基于消息队列列的服务 • 提供TCC的协调控制服务 • 通过Omege提供幂等操作功能 • 可视化的事务拓拓扑,定位异常最多服务 • Omega进⼀一步解决多线程间共享调⽤用链问题 http://servicecomb0 码力 | 33 页 | 2.38 MB | 1 年前3《Saga分布式事务解决⽅案与实践》演讲者/姜宁
ended event Scanner throw ex record tx aborted event compensate 未来的开发计划 • Alpha⾼高可⽤用多租户架构 • 基于消息队列列的服务 • 提供TCC的协调控制服务 • 通过Omege提供幂等操作功能 • 可视化的事务拓拓扑,定位异常最多服务 • Omega进⼀一步解决多线程间共享调⽤用链问题 https://issues0 码力 | 39 页 | 2.78 MB | 1 年前3微服务架构实践-唯品会
���review ���review ���! WAP! • 横向:针对单个核心U务系统进行检查 • 纵向:针对U务线v联系统进行t链路检查 • 重点:架构、流程、缓存、消息队列、数据库、性能、高可用、隔离、限流、降级、熔断等 ��QPS&�� ����! ����! �����! ����! �����QPS ������� ������� ������� �������0 码力 | 120 页 | 82.16 MB | 1 年前3反应式微服务框架ServiceComb设计思想&mdash
eventloop中执行,并不会进行线程切 换 p 橙色箭头走完后,对本线程的占用即完 成了,不会阻塞等待应答,该线程可以 处理其他任务 p 当收到远端应答后,由网络数据驱动开 始走红色箭头的应答流程 p 只要有任务,线程就不会停止,会一直 执行任务,可以充分利用cpu资源,也 不会产生多余的线程切换,去无谓地消 耗cpu。 压测数据 系统: Ubuntu 18.04.1 CPU:0 码力 | 33 页 | 5.68 MB | 1 年前3
共 16 条
- 1
- 2