华为企业级PaaS 微服务应用servicecomb.apache.org github.com/apache?q=servicecomb 面向开发者的数据中心演进 数据中心服务器虚拟化: Google,亚马逊等公司 以资源为中心: • AWS EC2,S3,Route53 • OpenStack • CloudStack • 混合云 以应用为中心: • Heroku • GAE • CloudFoundry Cloud与ServiceComb等开源生态,使开发者能够无改造迁移上云 • 多语言解决方案:Java,Go两种语言框架与Service mesh方案 • 契约管理:自动生成API文档,并在中心管理,使集成更加流畅,约束接口不能任意变更 servicecomb.apache.org github.com/apache?q=servicecomb 引擎 把他们放在一起 微服务 微服务 微服务 DMS0 码力 | 17 页 | 3.42 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
2-4-禚娴静-微服务你玩得起吗2014年问题倍出 部署成功率很低,部署时经常 有⼀一堆环境修改需求,运维⼈人 员出错机会增加,运维效率极 低。 2 缺乏有效监控 ⽆无法快速有效定位问题,⽆无法 快速有效知晓服务运⾏行状态, 服务资源浪费。 3 服务过⼤大,堵塞交付 快速增⻓长的结果导致服务过⼤大 或者服务过⼩小。⽽而过⼤大的服务 导致整个提交流⽔水线堵塞,测 试⼈人员⽆无法拿到新的版本,交 付延期 4 团队出现冲突,架构腐化严重 接⼝口⼀一⽚片混乱,核⼼心⼈人员离 职。 部署成功率很低,部署时经常 有⼀一堆环境修改需求,运维⼈人 员出错机会增加,运维效率极 低。 ⽆无法快速有效定位问题,⽆无法 快速有效知晓服务运⾏行状态, 服务资源浪费。 回到问题 1.运维⾃自动化 1 基础设施⾃自动化 实施了新的部署流程,成功率 ⼤大⼤大提⾼高,部署时间缩短到 30分钟。 2 ⾼高效监控 服务提供状态汇报,利⽤用 Splunk聚合⽇日志,对服务运 接⼝口⼀一⽚片混乱,核⼼心⼈人员离 职。 部署成功率很低,部署时经常 有⼀一堆环境修改需求,运维⼈人 员出错机会增加,运维效率极 低。 ⽆无法快速有效定位问题,⽆无法 快速有效知晓服务运⾏行状态, 服务资源浪费。 回到问题 3.服务拆分 微服务的附加成本 3.服务⾃自演进 2 1 2 3 划分合适的业务边界 进⾏行合适模块化 可测试的 4 拒绝跨上下⽂文的 数据表连接 交付畅通0 码力 | 51 页 | 8.18 MB | 1 年前3
Service Mesh在华为公
有云的实践• 与微服务部署在⼀一个Pod • 占⽤用资源很⾼高 Mesher • Service Mesh的⼀一种实现 • 基于⾃自研的Go语⾔言微服务框架(即将开源)开发 • 使⽤用CSE注册中⼼心与配置中⼼心 • 以Sidecar的⽅方式部署在微服务所运⾏行的环境中,也可以 PerHost模式运⾏行 • ⽀支持多种部署⽅方式 • 占⽤用资源⼩小(闲置10多M,并发运⾏行时30多M) ServiceMesh? 为什么要开发Mesher • Istio的性能问题 • Istio强绑定Kubernetes平台(1.7.4+) • 从成本⾓角度讲Linkerd并不适合做SideCar部署,JVM资源占⽤用较多 • 在ServiceComb和CSE中的积累 • 最⼤大优势,侵⼊入式与⾮非侵⼊入式的⽆无缝结合,混编,统⼀一的产品体验。 开源 • Service Center https://github0 码力 | 52 页 | 4.37 MB | 1 年前3
反应式微服务框架ServiceComb设计思想&mdash橙色箭头走完后,对本线程的占用即完 成了,不会阻塞等待应答,该线程可以 处理其他任务 p 当收到远端应答后,由网络数据驱动开 始走红色箭头的应答流程 p 只要有任务,线程就不会停止,会一直 执行任务,可以充分利用cpu资源,也 不会产生多余的线程切换,去无谓地消 耗cpu。 压测数据 系统: Ubuntu 18.04.1 CPU: 4vCPU Intel(R) Xeon(R) CPU E5- 2680 v4 @ Cloud Gateway VS Zuul VS EdgeService 3 Callback hell 实践案例—华为消费者云 异步场景1:降低长流程/复杂业务流程时延 异步场景2:CPU资源使用率低、性能要求高 异步场景3:需要配置较长超时时间的接口 异步场景4:多个微服务级联调用 性能对比测试: 采用Reactive异步模式之后,TPS提升 43% 左右 时延降低 28% 左右,CPU占用降低0 码力 | 33 页 | 5.68 MB | 1 年前3
华为微服务框架ServiceComb支持多时间周期性能指标统计 • 集成Prometheus,OverWatch • 提供health check 接口检查 Metrics 子项 说明 微服务资源使用 CPU、ThreadCount、Heap、NonHeap 基本的资源使用状态 Consumer端 Latency、CallCount、TPS 包含操作级别和微服务实例级别 Producer端 waitInQueue、lifeTimeInQueue、0 码力 | 28 页 | 1.53 MB | 1 年前3
消费者云CSE微服务实践服务框架要足够轻量级,可以按需加载类库,防止不当前业务的 三方库发生冲突 启停速度要快(秒级弹性伸缩)、资源占用要合理 微服务框架技术选型-微服务安全 有些业务场景对微服务调用安全要求较高,需要微服务框架支持 SSL传输、API鉴权和认证等 对于一些敏感信息,例如用户账号、金额等,在记录日志等落盘 和采集时需要做脱敏处理、资源占用要合理 敏感运维操作,需要记录安全日志,例如服务上线和下线、服务0 码力 | 22 页 | 1.39 MB | 1 年前3
共 17 条
- 1
- 2













