Experience on Fast Microservice Programming - 亲自动手,体验微服务开源开发-快速微服务化编程体验0 码力 | 12 页 | 2.56 MB | 1 年前3
华为企业级PaaS 微服务应用any infrastructure • 开发者不需要知道应用部署到容器还是虚机中,只需要像过去一样开发应用 • Java,Go,Nodejs等语言可部署到ARM,x86不同的基础设施中 • 完善的自动化促使组织能够管理大规模,快速的部署应用实例,应对业务流量,需求的变化 源码 软件中心 流水线 构建 归档 部署 配置中心 java python go nodejs php war ECS ELB 监控 软件中心 流水线 servicecomb.apache.org github.com/apache?q=servicecomb 缺少了什么 • 流水线,平台等自动化手段的完备,使得开发人员开始思考业务功能的拆分,复用,使得网络拓扑更加复杂 • 从过去“数据中心网络拓扑几乎没变化”变为“应用发布,应对业务流量,随时随地的网络拓扑变化” • 平台功能解决了应 为什么选择ServiceComb • 兼容Spring Cloud与ServiceComb等开源生态,使开发者能够无改造迁移上云 • 多语言解决方案:Java,Go两种语言框架与Service mesh方案 • 契约管理:自动生成API文档,并在中心管理,使集成更加流畅,约束接口不能任意变更 servicecomb.apache.org github.com/apache?q=servicecomb 引擎 把他们放在一起0 码力 | 17 页 | 3.42 MB | 1 年前3
使用微服务架构快速开发万级TPS高可用电商系统com/apache/servicecomb-java-chassis java SDK b) https://github.com/apache/servicecomb-mesher 多语言解决方案 c) 重试 d) 负载均衡 e) 限流 f) 降级(隔离、熔断、容错) • 网关 a) 路由 b) 黑白名单 c) 和认证鉴权集成 [社区网站] http://servicecomb.apache 2. 透明RPC模式+CompletableFuture。把异步继续进行。 3. 低超时+重试策略配置。“ 高可用”的定义?A跟a 的区别 à 客户端无异常。 4. Zuul VS edge-service(完胜)。 100并发 vs 20000 并发。 5. 生产环境需从最外层开始设置限流策略,并设置降级机制。 [社区网站] http://servicecomb.apache.org [Github Xms。 2. 需要迅速伸缩,用了docker-compose。 注意NAT的性能问题。 启发:不一定要K8s,Istio, 一定是需求驱动。 3. 设置一定的冗余,防止性能波动。 4. 配置重试,提高可用性。 5. 在压测状态,使用kill -9 模拟宕机,观察客户端异常情况。 组件 Login Customer-mangage House-order User-center Realestate0 码力 | 15 页 | 1.46 MB | 1 年前3
微服务架构及ServiceComb实践com/apache/servicecomb-java-chassis java SDK b) https://github.com/apache/servicecomb-mesher 多语言解决方案 c) 重试 d) 负载均衡 e) 限流 f) 降级(隔离、熔断、容错) g) 分布式跟踪 • 网关 a) 路由 b) 黑白名单 c) 和认证鉴权集成 [社区网站] http://servicecomb over Vertx。 2. 透明RPC模式+CompletableFuture。把异步继续进行。 3. 低超时+重试策略配置。“ 高可用”的定义?A跟a 的区别 客户端无异常。 4. Zuul VS edge-service(更优)。 5. 生产环境需从最外层开始设置限流策略,并设置降级机制。 [社区网站] http://servicecomb.apache.org [Github ] https://github0 码力 | 14 页 | 2.04 MB | 1 年前3
微服务环境下的系统治理与容错服务分解的四大障碍 1、网络延迟 2、同步通信降低了可用性 3、跨服务的数据一致性 4、上帝类 微服务的忠告 n 第一,要记住微服务不是解决所有问题的万能 “银弹”。 n 第二,编写整洁的代码和使用自动化测试至关重要,因为这是现代软件开发的基础。 n 第三,关注微服务的本质,即服务的分解和定义,而不是技术,如容器和其他工具。 n 第四,确保你的服务松耦合,并且可以独立开发、测试和部署,不要搞成分布式单体,那将会是巨大的灾难。 Richardson 容错 故障和问题 线上故障“画像“ 系统稳定性指标 可监控设计 同步调用下-无线程池隔离 同步调用下-线程池隔离实现方法 快速失败-超时 快速失败-时间窗口 快速失败-超时重试次数 区分部署和上线 常规系统保障流程 没有不出问题的系统 什么是混沌工程 混沌工程 故障注入 故障测试的区别 总结 工具 知识 经验 参考书籍0 码力 | 45 页 | 16.09 MB | 1 年前3
微服务的设计原则与⽣态系统 - 王磊ThoughtWorks⾸首席咨询师 Sybase Tech Leader • 《微服务架构与实践》作者 • 《DevOps Handbook》中⽂文译者之⼀一 • 国内较早倡导和实践微服务的先⾏行行者 • 对于⾃自动化测试、持续交付、DevOps有丰富的实践经验 • ⻄西安DevOps Meetup 联合发起⼈人 关于我 议题 • 微服务架构的核⼼心 • 微服务架构设计原则 • 微服务架构⽣生态系统 什什么是微服务架构? • 微服务架构是⼀一种架构模式,将单体应⽤用划分成⼀一组⼩小的服务,服务之间互相协作,为⽤用户提供最终价值 • 每个服务运⾏行行在其独⽴立的进程中,服务间采⽤用轻量量级的通信机制协作(通常是基于RESTful API) • 每个服务都围绕着具体业务进⾏行行构建,并且能够被独⽴立的部署到⽣生产环境、类⽣生产环境等 Microservices – the new architectural continuousdelivery.com/ • 缩短交付周期 • 降低发布⻛风险 • 质量量内嵌 组织协同 环境管理理 数据管理理 松耦合架构 反馈验证 持续集成/部署 内建质量量 微服务架构是松耦合架构机制的⼀一种实现 为什什么基于DevOps? ● Communication ● Automation ● Measuring ● Sharing 为什什么基于DevOps? https://www0 码力 | 62 页 | 6.65 MB | 1 年前3
2-4-禚娴静-微服务你玩得起吗微服务架构 微服务架构是⼀一种架构模式,它提倡将单⼀一应⽤用程序划分成⼀一组⼩小的服务,服务 之间互相协调、互相配合,为⽤用户提供最终价值。每个服务运⾏行在其独⽴立的进程 中,服务与服务间采⽤用轻量级的通信机制互相沟通(通常是基于HTTP协议的 RESTful API)。每个服务都围绕着具体业务进⾏行构建,并且能够被独⽴立的部署到 ⽣生产环境、类⽣生产环境等。另外,应当尽量避免统⼀一的、集中式的服务管理机 言、⼯工具对其进 ⾏行构建。 为什么要采⽤用微服务架构? - Rebecca Parsons 让系统尽可能快的响应变化! 初衷 • 服务足够小 • 独立运行 • 轻量级通信机制 • 独立的部署 • 去中心化 • 要多小? • 怎么部署? • 出错怎么办? • 如何保证一致性 玩得起微服务的条件 持续改进的⾃自组织⽂文 快速响 服务B 服务C 服务D 业务系统A Librarian 业务系统B 服务E 服务F 微服务架构初步形成 那时的微服务 系统集成消除重复 ful API Restful API ⾃自动 化部署 特性 团队 它给我们带来了哪些好处? 新业务C三个⽉月上线 领域服务 服务A 服务B 服务C 服务D 服务E 服务F Librarian 业务系统B 业务系统C 服务G0 码力 | 51 页 | 8.18 MB | 1 年前3
ServiceComb java SDK详解将从服务中心取得的实例集合,进行过滤,得到 Endpoint集合 • 根据兼容规则,将实例进行分组 只有edge service场景下,对于同一个目 标微服务,存在多个版本分组 • 兼容分组内,新版本功能集合大于旧版本,自动 根据url选择合适的版本组 • AZ亲和性 • 根据传输通道分组 • 根据实际调用统计,隔离暂时不可用的调用目标 • 开发人员通过SPI扩展过滤功能 2.以过滤得到的Endpoint集合作为输入,根据配置的策 er治理能力, 不必独立开发,直接重用 ELB Edge Service Backend ...... Edge Service ...... Backend Edge Service-自动路由1 Edge URL规划为:/{pefix}/{microserviceName}/{v1/v2/......}/path • 第一个segment为固定前缀,表示这是一个微服务调用,可用于让 enabled: true prefix: rest withVersion: true prefixSegmentCount: 3 Edge Service-自动路由2 有的场景下,业务是从传统应用移植过来的,有的URL已经固定,并且不满足自动路由规则,此时必须考虑兼容问题 对于这些不规则的URL,可以追加通过枚举的方式来指定路由规则 servicecomb: http: dispatcher:0 码力 | 21 页 | 1.15 MB | 1 年前3
Metrics in ServiceComb Java Chassis 1.0.0-m1 让微服务运行状态清晰可见服务度量 通信协议 (Rest&RP C) 边缘服务 熔断/容错 Token认证 Saga事务一致性 服务契约 平滑上云 拥抱开源生态 处理链 微服务脚手架 服务安全 治理UI 自动部署 监控运维 Public Cloud …… SpringClou d SpringBoot Istio Apollo Skywalking Zipkin Prometheus Dubbo 用户自定义访问日志 Service Center Java Chassis 1.0.0 正式稳定版本发布 自动生成脚手架工程 支持Http2协议 自定义ping机制 Saga 0.1.0 分布式Pack原型 Pack 0.3.0 优化后台性能 支持多种分布式协调机制 多语言框架Omega 2017年12月 2018年3月 2018年8月 2018年6月 2018年10月0 码力 | 18 页 | 3.12 MB | 1 年前3
Apache ServiceComb 开源微服务社区350+ 开源项目, 50+ 正在孵化的项目 • 组织前身是 1996年成立的 Apache Group • ASF成立于 1999年 贡献者 Committer PMC 会员 董事会 产生机制 签署贡献者协 议CLA 由PMC提名并 投票选拔 由PMC提名并 投票选拔 由PMC提名并投票选 拔 由会员提名并投票选 拔 由会员提名并投票选 拔 拥有权利 提交issues 及patch 财政微应用 预算 编制 指标 管理 …… 财务微应用 会计 核算 项目 库 …… 统一基础 数据规范 统一财政 业务数据 标准存储 统一应用 支撑平台 总账结构 统一纵向 层级交换 机制 统一信息 安全体系 软件开发服务 ServiceStage 大数据服务 系统集成服务 IaaS(计算、存储、网络、安全) 中间件服务 标准与规范 应用全微服务化,接口标准由财政厅统一管控, 大系统小做,缩短上线周期 • 快速、小批量交付价值需求 • 上线周期: 月 -> 周/天 动态自治降运维成本 • 弹性伸缩、故障自动迁 移、降级熔断,提升复 杂分布式系统运维效率 系统性能大幅提升 • QPS提升2倍+ • 时延降低45% • CPU使用率下降56% 全自动化微服务流水线 • 个人、团队、项目组三级 • 从设计到上线,端到端全自 动化 案例:助力华为消费者云服务运营更敏捷0 码力 | 15 页 | 2.86 MB | 1 年前3
共 31 条
- 1
- 2
- 3
- 4













