走进开源 - Apache ServiceCombServiceComb [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb 议程 • 什么是开源 • 开源开发是什么状态 • 如何参与开源 [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache • 未涉猎领域 机器人 自动驾驶 星际探索 也有可能是你的项目 • 注册在美国的非盈利组织 • 提供法律和基础设施的支持 • 完全的自愿组织,虚拟的全球化组织 • 有7000+ committers, 760+ member • 350+ 开源项目, 50+ 正在孵化的项目 • 组织前身是 1996年成立的 Apache Group • ASF成立于 1999年 code” 决策透明公开:讨论,决定和存档均基于 mailing list 商业友好的开源许可证, Apache项目使用 permissive license的Apache 2.0许可证 代码是社区合作开发的 投票机制管理社区 代表个人行为不代表企业利益 基于尊重、诚实、专注于技术的社区模 式交流 Apache Way Apache治理之道 [社区网站] http://servicecomb0 码力 | 28 页 | 1.92 MB | 1 年前3
开源开发者的一天 - Apache ServiceCombServiceComb [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb 议程 • 什么是开源 • 开源开发是什么状态 • 如何加入到开源社区 [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache 350+ 开源项目, 50+ 正在孵化的项目 • 组织前身是 1996年成立的 Apache Group • ASF成立于 1999年 Apache软件基金会 涉猎领域 • 人工智能AI • IoT • 大数据 • 金融管理 • 区块链 • …… 未涉猎领域 • 机器人 • 自动驾驶 • 星际探索 • 也有可能是你的项目 [社区网站] http://servicecomb code” 决策透明公开:讨论,决定和存档均基于 mailing list 商业友好的开源许可证, Apache项目使用 permissive license的Apache 2.0许可证 代码是社区合作开发的 投票机制管理社区 代表个人行为不代表企业利益 基于尊重、诚实、专注于技术的社区模 式交流 Apache Way Apache治理之道 [社区网站] http://servicecomb0 码力 | 31 页 | 2.02 MB | 1 年前3
Apache ServiceComb 开源微服务社区提供法律和基础设施的支持 • 完全的自愿组织,虚拟的全球化组织 • 有6600+ committers, 580+ member • 350+ 开源项目, 50+ 正在孵化的项目 • 组织前身是 1996年成立的 Apache Group • ASF成立于 1999年 贡献者 Committer PMC 会员 董事会 产生机制 签署贡献者协 议CLA 由PMC提名并 投票选拔 由PMC提名并 者将应用轻松微服务化上云,实现对微服务应用的高效运维管理 华为开始实践 微服务 2012年 2019 • 2018 OSCAR尖峰开源技术创新奖 • 2018 COSCL首届中国优秀开源项目一等奖 • 2019 首个行业微服务标准的核心参考框架 携手解决 微服务痛点 原则 • 中立 • 开放 • 标准化 • 无商业Lock-in • 社区健康发展 ServiceComb 首个Apache微服务顶级项目 选择Apache ServiceComb,我们会认真对待您在微信群/Github Issue/MailGroup的: 每一个问题 每一个建议 期待与您共建社区,持之以恒,共同解决微服务难题。 保护您的选择是我们的使命。 不论您是 大咖/已是微服务开发者 / 即将进入微服务开发者 / 单纯寻求开源贡献的开发者 / 学校学者 / 学生 /……, 我们期待您的加盟与贡献, 如果您准备贡献代码,请扫描二维码进群,备注“贡献代码”。0 码力 | 15 页 | 2.86 MB | 1 年前3
消费者云CSE微服务实践服务框架丌要绑定具体的语言实现,例如内部通信协议使用某种 语言特定的序列化机制、发布泛型、抽象接口等 微服务框架技术选型-灵活和轻量级架构 当前业务服务端都是非Web应用,所以丌需要运行在Web容器中, 需要类似Main函数可以直接拉起来的Standalone模式 服务框架要足够轻量级,可以按需加载类库,防止不当前业务的 三方库发生冲突 启停速度要快(秒级弹性伸缩)、资源占用要合理 微服务框架技术选型-微服务安全 敏感运维操作,需要记录安全日志,例如服务上线和下线、服务 的流控阈值修改等 微服务框架技术选型-服务治理能力 服务框架丌能只单单解决分布式RPC调用、服务注册&发现和路 由问题,更重要的是业务微服务上线乊后,需要提供实用和丰富 的在线治理能力 流量控制、幵发控制、超时控制、服务降级、服务熔断、路由权 重调整… 常用的服务治理能力要内置到服务框架中,业务领域强相关、非 从集成角度看,希望可以灵活的不Spring Boot等框架集成 微服务框架技术选型-高性能、低时延 硬件成本已经是白菜价,软件性能丌重要? 消费者云业务服务集群规模大,单点的性能提升能够带来巨大收益 从用户体验看,端到端时延非常重要,分布式乊后带来的时延增加,是一个很大的挑戓 丌是所有业务都有苛刻的性能需求,丌同业务对性能的诉求丌同, 可以按需选择协议和传输方式,服务不传输协议、序列化方式解耦0 码力 | 22 页 | 1.39 MB | 1 年前3
解读ApacheApache 软件基⾦会: Apache 软件基⾦会: 世界上最⼤的开源基⾦会 Apache基⾦会的使命 Apache基⾦会的使命 Apache软基⾦⾦会 (ASF) 是⼀个根据美国法案 501(c)(3)注册公益性组织。 ASF的使命 是通过向加⼊ASF的志同道合的软件项⽬社区提供服务,为公众提供开源软件。 ASF提供了⼀个独⽴于任何公司影响⼒的中⽴空间,保证其中的 项⽬可以在商业友好Apache许可证2 ⼈⼯智能 AI IoT ⼤数据 ⾦融管理 ⽓候变化 Apache项⽬还没有涉猎的领域[Yet] Apache项⽬还没有涉猎的领域[Yet] 机器⼈ ⾃动驾驶 星际探索 区块链 也有可能是你的项⽬ ASF 提供了项⽬的治理 ASF 提供了项⽬的治理 Apache之道 “Apache之道” 核⼼原则 “Apache之道” 核⼼原则 粗略的共识和可以⼯作的代码 ⼩的可逆步骤(进⾏探索) “Apache 之道” AKA “社区胜于代码” ASF依托于Apache之道运作 ASF依托于Apache之道运作 精英之治 - 个⼈通过他们的⼯作和⽅式获得功绩。 透明度 - 我们的项⽬是公开开发的,所以每个想参与的⼈都 能够参与。 社区 - 我们将社区健康放在⾸位。 注意不是所有的项⽬适合Apache之道的 Apache之道保证了: Apache之道保证了: ⼚商中⽴ 多样性0 码力 | 43 页 | 4.89 MB | 1 年前3
微服务架构与领域驱动设计 - 王磊微服务架构与DDD 领域驱动设计的核⼼心 基于事件⻛风暴暴的DDD实践 01 02 03 �4 什什么是微服务架构 微服务架构 �5 Martin Fowler, Mar 2014 Microservices - the new architectural style 微服务架构是⼀一种架构模式,它提倡将单⼀一应⽤用程序划分成⼀一组⼩小的服 务,服务之间互相协调、互相配合,为⽤用户提供最终价值。 thousand Hamlets in a thousand people’s eyes. 微服务架构 �7 什什么是领域驱动设计 领域驱动设计 �8 领域驱动设计解决的两个核⼼心问题: 1.业务架构如何合理理的设计划分? 2.技术架构与业务架构保持⼀一致? 领域驱动设计是⼀一种设计⽅方法,围绕业务概念构建领域模型, 并通过分离技术实现的复杂性,从⽽而控制软件演化的复杂度。 Tacking 微服务架构与DDD 01 领域驱动设计的核⼼心 02 基于事件⻛风暴暴的DDD实践 03 如何落地领域驱动设计? Vaughn Vernon Eric Evan Event Storming是⼀一种快速探索复杂业务领域的⽅方法: Event Storming Effective: 可以让实践者在数⼩小时内理理解复杂业务模型 Engaging: 带着问题的和拥有答案的⼈人⼀一起来构建模型0 码力 | 28 页 | 1.84 MB | 1 年前3
微服务的设计原则与⽣态系统 - 王磊Are you using microservices? https://www.nginx.com/resources/library/app-dev-survey/ 什什么是微服务架构? • 微服务架构是⼀一种架构模式,将单体应⽤用划分成⼀一组⼩小的服务,服务之间互相协作,为⽤用户提供最终价值 • 每个服务运⾏行行在其独⽴立的进程中,服务间采⽤用轻量量级的通信机制协作(通常是基于RESTful 内建质量量 微服务架构是松耦合架构机制的⼀一种实现 为什什么基于DevOps? ● Communication ● Automation ● Measuring ● Sharing 为什什么基于DevOps? https://www.supinfo.com/articles/single/3652-what-is-devops 架构⼀一旦确定,很难改变 什什么是演进式架构? ⽀支持增量量式变更更作为第⼀一原则 ⽀支持增量量式变更更作为第⼀一原则 什什么是演进式架构? • 演进是动态平衡 • 痛苦的事情提前做 • 运维意识是关键 演进式架构 拥抱变化 动态平衡 业务 技术 团队 架构的演进基于业务、技术和团队的平衡 - 动态的平衡 演进式架构 - 痛苦的事提前做 识别问题并⽤用⾃自动化的⼿手段消除痛苦 演进式架构 - 运维意识是关键 架构只是抽象,直到真正投⼊入运维产⽣生价值 议题0 码力 | 62 页 | 6.65 MB | 1 年前3
Metrics in ServiceComb 1.0.0-m1微服务架构师 开源能力中心 让微服务运行状态清晰可见 目录 • Metrics简介 • 基于BMI示例演示 • Metrics技术细节 Metrics是什么 • 直译是“度量”,不同的领域定义有所区别,在微服务领域中的 定义: “对微服务的某个指标给予一个可量化程度的测量” • Metrics应该具备的特性: • Comparative(可对比): • b) 与时间相关的,比如TPS(transaction per second); • c) 与个数相关的,比如累加平均值、方差等等; • 获取此类Metrics的值,返回的是上一个周期的统计结果,具有一定的延后性。 为什么需要Metrics 开源领域的Metrics实现 Netflix Servo :https://github.com/Netflix/servo 无框架绑定(不绑定 Dropwizard) 绑定Spring Boot 侵入性 有,需要自己打点 有,需要自己打点 按需,Http自动记录基本信 息,也可以自己打点 易集成 是 是 是(限Spring Boot中启用) • 通过上面的比较可以看出,三种Metrics对于微服务的支持都很弱,例如微服务包含若干个 Operation,不写代码无法全面获取每一个Operati0 码力 | 18 页 | 938.89 KB | 1 年前3
微服务环境下的系统治理与容错• 热爱分享,维护技术公众号 [程序架道],对高并发、高可用系统有持续不懈的追求; 个人微信号 技术公众号 • 微服务架构 • 容错 • 总结 • 治理 微服务架构 架构 架构 架构是为应用程序服务的 软件系统应用程序的需求 软件系统的价值维度 架构师是什么样的人 架构的终极目标 研发团队的持续斗争 研发团队必须从公司长远利益出发与其他部门抗争 -- Robert C 再看六边形架构 治理 微服务到底需要多“微” 微 微服务的“微”暗示了服务的大小,但实际上微服务架构对构成的服务实例并没有大小方面的要求。 微服务的微 微服务的两个“谬论” n 服务之间是强隔离的。 n 微服务是大型系统的唯一选择。 解耦合 独立开发部署 架构、组织、流程 微服务架构定义“三步法” 微服务拆分方法 微服务拆分-指导原则 拆服务-单体重构的节奏 服务分解的四大障碍 还必须记住:实现微服务架构并不是你的目标。你的目标是加速大型复杂应用程序的开发。 --Chris Richardson 容错 故障和问题 线上故障“画像“ 系统稳定性指标 可监控设计 同步调用下-无线程池隔离 同步调用下-线程池隔离实现方法 快速失败-超时 快速失败-时间窗口 快速失败-超时重试次数 区分部署和上线 常规系统保障流程 没有不出问题的系统 什么是混沌工程 混沌工程 故障注入0 码力 | 45 页 | 16.09 MB | 1 年前3
《Saga分布式事务解决⽅案与实践》演讲者/姜宁业界Saga的解决⽅方案 • ServiceComb Saga的演进 • 后续的开发计划 微服务架构 • 微服务架构将⼀一个应⽤用分成多个相互独⽴立的服务。 • 好处是各个服务能够持续独⽴立的开发和部署。 • 难题是服务的数据需要采⽤用什什么样的⽅方式来进⾏行行存储? 多个微服务使⽤用同⼀一数据库 A B C commit rollback ⼀一个典型的微服务架构应⽤用 EdgeService 读取问题) http://microservices.io/microservices/general/2018/03/22/microxchg-sagas.html 如何应对隔离性问题 • 隔离的本质是控制并发,防⽌止并发事务操作相同资源⽽而引起结果错乱 • 在应⽤用层⾯面加⼊入逻辑锁的逻辑。 • Session层⾯面隔离来保证串串⾏行行化操作。 • 业务层⾯面采⽤用预先冻结资⾦金金的⽅方式隔离此部分资⾦金金。 LT b} {GT} Saga的狼群架构 Alpha Service A Omega Service B Omega Alpha Alpha • Alpha是狼群⾸首领,负责协调事务执⾏行行情况 • Omega是狼群成员,负责收集事务,向狼群⾸首领上报情况,并执⾏行行相关指令 Omega 内部实现 Pre Processor Post Processor Transaction0 码力 | 33 页 | 2.38 MB | 1 年前3
共 33 条
- 1
- 2
- 3
- 4













