ServiceComb在华为消费者云的亿级用户微服务实践组织赋能:拉通设计、开发、测试和运维的跨团队培训、 技术方案试点、案例分享、 ServiceComb统一预警体系,不 同业务部门之间的合作和协同 服务化地图:业务部署上线后,对业务微服务API进行基 线化,并发布服务化地图,涵盖微服务的划分原则、微服务 流水线地址、微服务SLA指标等 总体策略-技术选型 Website: http://servicecomb.incubator.apache.org/ obby 适合异步的业务采用全栈异步架构,提升性能和可靠性 异步场景1:降低长流程/复杂业务流程时延:消费端需要调用多个微服务,进行业务逻辑编排,多个微服务之间没有执行先后顺序 和参数依赖,可以通过异步微服务调用并行执行 异步场景2:性能提升:使用更少的线程处理更多的消息,提升线程和I/O利用效率 异步场景3:业务超时较长:业务上对服务调用时延不敏感(例如1-3S),如果采用同步调用 +0 码力 | 15 页 | 1.15 MB | 1 年前3
《Saga分布式事务解决⽅案与实践》演讲者/姜宁http://microservices.io/microservices/general/2018/03/22/microxchg-sagas.html 如何应对隔离性问题 • 隔离的本质是控制并发,防⽌止并发事务操作相同资源⽽而引起结果错乱 • 在应⽤用层⾯面加⼊入逻辑锁的逻辑。 • Session层⾯面隔离来保证串串⾏行行化操作。 • 业务层⾯面采⽤用预先冻结资⾦金金的⽅方式隔离此部分资⾦金金。0 码力 | 33 页 | 2.38 MB | 1 年前3
Service Mesh在华为公
有云的实践• 使⽤用CSE注册中⼼心与配置中⼼心 • 以Sidecar的⽅方式部署在微服务所运⾏行的环境中,也可以 PerHost模式运⾏行 • ⽀支持多种部署⽅方式 • 占⽤用资源⼩小(闲置10多M,并发运⾏行时30多M) • 简介 • 实现⼀一个Service Mesh • 使⽤用Service Mesh快速构建微服务 • ⽣生态与扩展 • 与PaaS平台结合 • Service Mesh在华为内部的技术演进 Linkerd1.1.3 Latency(ms) 17.2 465 34.7 TPS 8264 388 4235 CPU 300% 170% 310% Memory 35M 20M 196M 并发 20 20 20 4U8G 与ServiceComb侵⼊入式框架对⽐比 Mesher与普通应⽤用性能对⽐比 为何性能下降依然要使⽤用 ServiceMesh? 为什么要开发Mesher0 码力 | 52 页 | 4.37 MB | 1 年前3
《Saga分布式事务解决⽅案与实践》演讲者/姜宁http://microservices.io/microservices/general/2018/03/22/microxchg-sagas.html 如何应对隔离性问题 • 隔离的本质是控制并发,防⽌止并发事务操作相同资源⽽而引起结果错乱 • 在应⽤用层⾯面加⼊入逻辑锁的逻辑。 • Session层⾯面隔离来保证串串⾏行行化操作。 • 业务层⾯面采⽤用预先冻结资⾦金金的⽅方式隔离此部分资⾦金金。0 码力 | 39 页 | 2.78 MB | 1 年前3
使用微服务架构快速开发万级TPS高可用电商系统透明RPC模式+CompletableFuture。把异步继续进行。 3. 低超时+重试策略配置。“ 高可用”的定义?A跟a 的区别 à 客户端无异常。 4. Zuul VS edge-service(完胜)。 100并发 vs 20000 并发。 5. 生产环境需从最外层开始设置限流策略,并设置降级机制。 [社区网站] http://servicecomb.apache.org [Github ] https://github0 码力 | 15 页 | 1.46 MB | 1 年前3
ServiceComb java SDK详解透明RPC、JAX-RS、SpringMVC统一规则: class Schema { // 传统同步调用,默认在线程池中执行 public String hello1(String name) { return “hello “ + name; } // 默认为reactive模式,不通过线程池执行 public CompletableFuturehello2(String name) { 码流 此时可以通过自定义路由进行 内置自动路由规则基于同样的机制实现: • 通过SPI声明VertxHttpDispatcher的扩展 • 通过getOrder声明相对其他dispatcher的执行顺序 • 自己能处理的url,拦截处理 – 根据自定义规则获取目标微服务名、版本规则、新url等等参数 – 通过EdgeInvocation转发请求 • 自己不能处理的url,放通给其他dispatcher处理 MetricsInitializer中的getOrder规划执行顺序, order数字越小,越先执行。 • Metrics-core实现3类MetricsInitializer: – DefaultRegistryInitializer: 实例化并注册 spectator-reg-servo,设置较小的order,保 证比下面2类MetricsInitializer先执行 – Meters Initializer: 0 码力 | 21 页 | 1.15 MB | 1 年前3
ServiceComb 介绍0 • 支持通过@Span注释的方式定义事务 • 统一了Http请求处理,支持对Rest调用进行定制处理 • Saga 0.1.0 • 提供了初步的Saga调用服务,支持顺序以及并发的调用处理 社区贡献 01/ 提交BUG 02/ 完善文档 03/ 参与邮件列表 04/ 提交Patch • 线上: – 关注微信公众获取信息 – 加入微信群进行交流0 码力 | 16 页 | 1.26 MB | 1 年前3
微服务环境下的系统治理与容错《架构修炼之道》作者,《决战618:探秘京东技术取胜之道》联合作者; • 对分布式、微服务系统有多年实战经验,所设计和研发的系统经历了多次百亿流量的验证; • 热爱分享,维护技术公众号 [程序架道],对高并发、高可用系统有持续不懈的追求; 个人微信号 技术公众号 • 微服务架构 • 容错 • 总结 • 治理 微服务架构 架构 架构 架构是为应用程序服务的 软件系统应用程序的需求 软件系统的价值维度0 码力 | 45 页 | 16.09 MB | 1 年前3
反应式微服务框架ServiceComb设计思想&mdash的通信模型演进—Reactor 黄金法则:不要阻塞Event Loop 什么才叫阻塞? n Thead.sleep() n 等待一个锁 n 等待一个互斥信号或监视器(例如同步的代码块) n 执行一个长时间数据库操作并等待其结果 n 执行一个复杂的计算,占用了可感知的时长 n 在循环语句中长时间逗留 10000TPS=0.1ms处理一个请求 如果利⽤多核? ServiceComb 采⽤Vert.x的背景 3 ServiceComb非阻塞线程模型 p 与传统流程不同的是,所有功能都在 eventloop中执行,并不会进行线程切 换 p 橙色箭头走完后,对本线程的占用即完 成了,不会阻塞等待应答,该线程可以 处理其他任务 p 当收到远端应答后,由网络数据驱动开 始走红色箭头的应答流程 p 只要有任务,线程就不会停止,会一直 执行任务,可以充分利用cpu资源,也 不会产生多余的线程切换,去无谓地消 耗cpu。0 码力 | 33 页 | 5.68 MB | 1 年前3
ServiceComb 微服务框架•Alpha充当协调者的角色,主要负责对事务的 事件进行持久化存储以及协调子事务的状态,使 其最终得以与全局事务的状态保持一致,即保证 事务中的子事务全执行,或全不执行。 •Omega是用户程序侧代理,负责对网络请求 进行拦截并向Alpha上报事务事件,并在异常情 况下根据Alpha下发的指令执行相应的补偿或重 试操作。 Service A Omega Service B Omega Alpha Alpha Alpha0 码力 | 11 页 | 668.81 KB | 1 年前3
共 15 条
- 1
- 2













