Service Mesh在华为公
有云的实践• 与微服务部署在⼀一个Pod • 占⽤用资源很⾼高 Mesher • Service Mesh的⼀一种实现 • 基于⾃自研的Go语⾔言微服务框架(即将开源)开发 • 使⽤用CSE注册中⼼心与配置中⼼心 • 以Sidecar的⽅方式部署在微服务所运⾏行的环境中,也可以 PerHost模式运⾏行 • ⽀支持多种部署⽅方式 • 占⽤用资源⼩小(闲置10多M,并发运⾏行时30多M) 部署复杂性提升,如何消弭? • Infrastructure as Code—开发者⾃自⾏行选型 • 命令⾏行注⼊入⼯工具—Mesher开发团队定制 • 编排服务⾃自动注⼊入—最完整的产品体验 应⽤用与Mesher集成最佳实践 • 使⽤用容器,容器⺴⽹网络与编排调度平台 • 业务代码监听在本地端⼝口,并且不要暴露业 务服务端⼝口。使⽤用Mesher端⼝口对外提供服务 • 使⽤用SideCar部署模式 ServiceMesh? 为什么要开发Mesher • Istio的性能问题 • Istio强绑定Kubernetes平台(1.7.4+) • 从成本⾓角度讲Linkerd并不适合做SideCar部署,JVM资源占⽤用较多 • 在ServiceComb和CSE中的积累 • 最⼤大优势,侵⼊入式与⾮非侵⼊入式的⽆无缝结合,混编,统⼀一的产品体验。 开源 • Service Center https://github0 码力 | 52 页 | 4.37 MB | 1 年前3
ServiceComb在华为消费者云的亿级用户微服务实践2、异步I/O通信:I/O通信方式与服务调用方式没关联关 系,无论是同步服务调用还是异步服务调用,I/O通信都 可以采用异步非阻塞模式 同步服务调用的几个缺点: 1、业务线程利用率低:线程资源是系统中比较重要的资源, 在一个进程中线程总数是有限制的。提升线程的使用率,就能 够有效提升系统的吞吐量。在同步服务调用中,如果服务端没 有返回响应,客户端业务线程就会一直阻塞(wait),傻等期 间,无法处理其它业务消息。 https://gitter.im/ServiceCombUsers/Lobby 适合异步的业务采用全栈异步架构,提升性能和可靠性 异步场景1:降低长流程/复杂业务流程时延:消费端需要调用多个微服务,进行业务逻辑编排,多个微服务之间没有执行先后顺序 和参数依赖,可以通过异步微服务调用并行执行 异步场景2:性能提升:使用更少的线程处理更多的消息,提升线程和I/O利用效率 异步场景3:业务超时较长:业务上对服0 码力 | 15 页 | 1.15 MB | 1 年前3
ServiceComb 的前世今生微 服 务 安 全 工具链生态 契约开发 工具 代码自动 生成 文档自动 生成 自动测试 工具 本地远程 调试 微服务 流水线 资源管理 容器编排 & 调 度 应用管理 弹性伸缩 灰度发布 监控运维APM Go语言 XXX语言 Java语言 服务契约 & OpenAPI SpringMVC JAX-RS0 码力 | 16 页 | 1.45 MB | 1 年前3
微服务架构云端应用golang � dockerfile mysql,pgsql,mongodb,redis,memcache � docker 服务语言 数据存储 ������ � kubernetes 服务编排 �� �� ��� �� �� �� 服务管理 ������� > < WWW.GOODRAIN.COM ���� 24 ���� ��� �� ���� ���� • ��������0 码力 | 32 页 | 864.40 KB | 1 年前3
杨钦民-唯品会微服务架构演进之路v0.2(ocCeI 镜xf库接口 HaIboI UI V14QVI2 1bBecK 4KoIage) 海量S高可用的镜x存储 多机房分发 0oah容器云KLbeIFeKes容器编排 ���� • ���CPU��� • �� ”��” ��������� ����� • �� / Health Check URL ���� • ������������0 码力 | 43 页 | 3.89 MB | 1 年前3
Service Mesh的思考及在华为云的实践PHP语言开发,遗留单体服务快速改造为分布式架构 • 负责公司内部的楼宇设施管理,使用mesher改造后,帮 助客户将软件改造为SaaS服务,为更多企业提供服务 6/30/2018 最佳实践 • 结合容器,容器网络,编排调度平台,监控平台使用 • 业务代码只需监听在127.0.0.1.使用mesher对外提供服务 • 使用SideCar部署模式 • 将服务提供者地址写在配置文件中,在本地里信息是http://x0 码力 | 29 页 | 1.55 MB | 1 年前3
康彬-基于微服务的混合云和同城双活实践单元化&双活的应用场景 • 同城双活的探索之路 • 未来的规划 大促的痛及混合云实践 业务服务层 资源层 分期乐 前端业务服务 桔子理财 鼎盛资管 …… mq管理系统 job管理系统 中台服务层 核心交易平台 风控审核平台 计算资源 (CPU) 存储资源 (内存|磁盘) 网络资源 (ip|端口|带宽) 中间件层 微服务框架 服务元数据管理 服务发布 服务订阅 消息中间件 机器准备周期长,紧急 情况无法应对 大促后机器闲置率高,资 源浪费巨大 混合云需求分析 机器资源按需 申请 01 接入层按url调 度流量 02 服务层set化的 路由策略 03 数据层读请求 上云,写请求 回自建idc 04 流量大户上云,顶住流量洪峰 机器器资源按需分配 接入层URL粒度流量调度 LB DNS app/browser Nginx-Proxy0 码力 | 47 页 | 6.09 MB | 1 年前3
《Saga分布式事务解决⽅案与实践》演讲者/姜宁prepare() OK prepare() OK commit() OK commit() OK • 提供强⼀一致保障 • 准备阶段完成资源操作 • 如果准备过程中出现问题,可以回滚 • 提交阶段不不允许出错 • 资源层⾯面提供保障业务侵⼊入性低 • 协议成本⾼高,并且存在全局锁的问题 ACID 与 BASE • ACID • 原⼦子性 (Atomicity) cfm?id=1394128 TCC • Try: 尝试执⾏行行业务 • 完成所有业务检查,预留留必须的业务资源 • Confirm:确认执⾏行行业务 • 真正执⾏行行业务,不不做业务检查 • Cancel:取消执⾏行行业务 • 释放Try阶段预留留的业务资源 业务服务 try confirm cancel 通过领域建模来解决 • 微服务内:聚合通过数据库事务保证强⼀一致 原⼦子性(通过Saga协调器器实现) • ⼀一致性 (本地事务 + Saga log) • 隔离性 (Saga不不保证) • 持久性 (Saga log) 缺乏隔离性带来的问题 • 两个Saga事务同时操作⼀一个资源会出现数据语义不不⼀一致的的情况。 • 两个Saga事务同时操作⼀一个订单 ,彼此操作会覆盖对⽅方(更更新丢失) • 两个Saga事务同时访问扣款账号,⽆无法看到退款 (脏读取问题) •0 码力 | 33 页 | 2.38 MB | 1 年前3
《Saga分布式事务解决⽅案与实践》演讲者/姜宁prepare() OK prepare() OK commit() OK commit() OK • 提供强⼀一致保障 • 准备阶段完成资源操作 • 如果准备过程中出现问题,可以回滚 • 提交阶段不不允许出错 • 资源层⾯面提供保障业务侵⼊入性低 • 协议成本⾼高,并且存在全局锁的问题 ACID 与 BASE • ACID • 原⼦子性 (Atomicity) cfm?id=1394128 TCC • Try: 尝试执⾏行行业务 • 完成所有业务检查,预留留必须的业务资源 • Confirm:确认执⾏行行业务 • 真正执⾏行行业务,不不做业务检查 • Cancel:取消执⾏行行业务 • 释放Try阶段预留留的业务资源 业务服务 try confirm cancel 通过领域建模来解决 • 微服务内:聚合通过数据库事务保证强⼀一致 原⼦子性(通过Saga协调器器实现) • ⼀一致性 (本地事务 + Saga log) • 隔离性 (Saga不不保证) • 持久性 (Saga log) 缺乏隔离性带来的问题 • 两个Saga事务同时操作⼀一个资源会出现数据语义不不⼀一致的的情况。 • 两个Saga事务同时操作⼀一个订单 ,彼此操作会覆盖对⽅方(更更新丢失) • 两个Saga事务同时访问扣款账号,⽆无法看到退款 (脏读取问题) •0 码力 | 39 页 | 2.78 MB | 1 年前3
Metrics in ServiceComb 1.0.0-m1衡量Metrics实现 优劣的标准: • 关键指标覆盖 全 • 计量准确 • 高性能低资源 占用 • 无侵入或低侵 入 Metrics的分类 • Metrics有很多种分类方式,在技术实现上我们偏向以取值方式区 分为两种: • 1. 直接取值 • 任何时候都能够立刻获取到最新值,例如资源使用率,包括CPU使用率,线程数, Heap使用数据等等,还有调用累加次数,当前队列长度等等。 Java Chassis Metrics • 如何与普罗米修斯集成 依赖关系 Metrics列表 Metrics 子项 说明 微服务资源使用 CPU、ThreadCount、Heap、 NonHeap 基本的资源使用状态 Consumer端 Latency、CallCount、TPS 包含操作级别和微服务实例级别 Producer端 waitInQueue、lifeTimeInQueue、0 码力 | 18 页 | 938.89 KB | 1 年前3
共 20 条
- 1
- 2













