 解读Apache2010-2019 Apache 孵化器管理委员成员 Apache 董事会主席 Apache 软件基⾦会: Apache 软件基⾦会: 世界上最⼤的开源基⾦会 Apache基⾦会的使命 Apache基⾦会的使命 Apache软基⾦⾦会 (ASF) 是⼀个根据美国法案 501(c)(3)注册公益性组织。 ASF的使命 是通过向加⼊ASF的志同道合的软件项⽬社区提供服务,为公众提供开源软件。 ASF提供了⼀个独⽴于任何公司影响⼒的中⽴空间,保证其中的 项⽬可以在商业友好Apache许可证2.0下繁荣发展, 为公众利益 创建开源软件。 公开成⽴于1999年的公益组织 公开成⽴于1999年的公益组织 使命: 为公众利益提供免费的软件。 第⼀个项⽬ 第⼀个项⽬ 世界上使⽤最⼴的服务器 ⾄2019已经成⽴24年 (加⼊ASF 20年) Apache 项⽬涉猎领域 Apache 项⽬涉猎领域 ⼈⼯智能 AI IoT ⼤数据 ⾦融管理 ⽓候变化 Apache项⽬还没有涉猎的领域[Yet] Apache项⽬还没有涉猎的领域[Yet] 机器⼈ ⾃动驾驶 星际探索 区块链 也有可能是你的项⽬ ASF 提供了项⽬的治理 ASF 提供了项⽬的治理 Apache之道 “Apache之道” 核⼼原则 “Apache之道” 核⼼原则 粗略的共识和可以⼯作的代码 ⼩的可逆步骤(进⾏探索) 任何建设性的贡献都可以获得功绩…0 码力 | 43 页 | 4.89 MB | 1 年前3 解读Apache2010-2019 Apache 孵化器管理委员成员 Apache 董事会主席 Apache 软件基⾦会: Apache 软件基⾦会: 世界上最⼤的开源基⾦会 Apache基⾦会的使命 Apache基⾦会的使命 Apache软基⾦⾦会 (ASF) 是⼀个根据美国法案 501(c)(3)注册公益性组织。 ASF的使命 是通过向加⼊ASF的志同道合的软件项⽬社区提供服务,为公众提供开源软件。 ASF提供了⼀个独⽴于任何公司影响⼒的中⽴空间,保证其中的 项⽬可以在商业友好Apache许可证2.0下繁荣发展, 为公众利益 创建开源软件。 公开成⽴于1999年的公益组织 公开成⽴于1999年的公益组织 使命: 为公众利益提供免费的软件。 第⼀个项⽬ 第⼀个项⽬ 世界上使⽤最⼴的服务器 ⾄2019已经成⽴24年 (加⼊ASF 20年) Apache 项⽬涉猎领域 Apache 项⽬涉猎领域 ⼈⼯智能 AI IoT ⼤数据 ⾦融管理 ⽓候变化 Apache项⽬还没有涉猎的领域[Yet] Apache项⽬还没有涉猎的领域[Yet] 机器⼈ ⾃动驾驶 星际探索 区块链 也有可能是你的项⽬ ASF 提供了项⽬的治理 ASF 提供了项⽬的治理 Apache之道 “Apache之道” 核⼼原则 “Apache之道” 核⼼原则 粗略的共识和可以⼯作的代码 ⼩的可逆步骤(进⾏探索) 任何建设性的贡献都可以获得功绩…0 码力 | 43 页 | 4.89 MB | 1 年前3
 微服务创新新品发布应用之间协 同工作和共 同治理 使能满足第三 方认证被广泛 采纳的趋势下 认证鉴权的性 能和安全的要 求 帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 解的数据和 入口,管理 复杂的分布 式系统配置 分布式系统配置中心 服务中心异构通信 多语言运行环境 微服务鉴权 微服务契约工具 Apache ServiceComb 面对用户痛点持续创新 3 github Maven/Gradle 插件 契约提取 代码生成 文档制作 契约校验 ServiceComb SpringCloud …… ServiceComb toolkit 划分微服务 (含依赖关系) 定义契约 (接口和模型) 发布契约 ServiceComb 契约开发工具 开发微服务 测试微服务 客户+集成商 软件开发商 部署微服务 契约仓库 微服务 运行环 境 验收微服务 gossip 协议 6 github.com/apache?q=servicecomb servicecomb.apache.org 实现云原生的分布式系统配置中心,使能运维人员通过易于理解的数据和入口,管理复杂的分布式系统配置。 https://github.com/apache/servicecomb-kie Timeout(service=serviceB, schema=user, operation=getUser):10s0 码力 | 12 页 | 2.96 MB | 1 年前3 微服务创新新品发布应用之间协 同工作和共 同治理 使能满足第三 方认证被广泛 采纳的趋势下 认证鉴权的性 能和安全的要 求 帮助企业用 户达成业务 模型和数据 集成标准统 一 通过易于理 解的数据和 入口,管理 复杂的分布 式系统配置 分布式系统配置中心 服务中心异构通信 多语言运行环境 微服务鉴权 微服务契约工具 Apache ServiceComb 面对用户痛点持续创新 3 github Maven/Gradle 插件 契约提取 代码生成 文档制作 契约校验 ServiceComb SpringCloud …… ServiceComb toolkit 划分微服务 (含依赖关系) 定义契约 (接口和模型) 发布契约 ServiceComb 契约开发工具 开发微服务 测试微服务 客户+集成商 软件开发商 部署微服务 契约仓库 微服务 运行环 境 验收微服务 gossip 协议 6 github.com/apache?q=servicecomb servicecomb.apache.org 实现云原生的分布式系统配置中心,使能运维人员通过易于理解的数据和入口,管理复杂的分布式系统配置。 https://github.com/apache/servicecomb-kie Timeout(service=serviceB, schema=user, operation=getUser):10s0 码力 | 12 页 | 2.96 MB | 1 年前3
 Metrics in ServiceComb 1.0.0-m1com/spring-projects/spring- boot/tree/master/spring-boot-project/spring-boot-actuator 开源领域的Metrics比较 比较项 Netflix Servo Dropwizard Metrics Spring Boot Actuator 计数器(Monitor)的实 现 性能相对高效 功能相对丰富 较弱,但是支持使用 tency等 等)。 ServiceComb Java Chassis中的Metrics • ServiceComb Java Chassis是一个包含了服务注册,服务发现,服务 配置以及管理功能的微服务框架,因此我们决定提供内置的更强 大的Metrics功能: • 开箱即用,不写一行代码输出关键Metrics,全面覆盖调用数、TPS、 Latency等; • 基于Netflix 。 基于BMI示例演示(15min) • 示例项目BMI介绍 • 如何使用ServiceComb Java Chassis Metrics • 如何与普罗米修斯集成 依赖关系 Metrics列表 Metrics 子项 说明 微服务资源使用 CPU、ThreadCount、Heap、 NonHeap 基本的资源使用状态 Consumer端0 码力 | 18 页 | 938.89 KB | 1 年前3 Metrics in ServiceComb 1.0.0-m1com/spring-projects/spring- boot/tree/master/spring-boot-project/spring-boot-actuator 开源领域的Metrics比较 比较项 Netflix Servo Dropwizard Metrics Spring Boot Actuator 计数器(Monitor)的实 现 性能相对高效 功能相对丰富 较弱,但是支持使用 tency等 等)。 ServiceComb Java Chassis中的Metrics • ServiceComb Java Chassis是一个包含了服务注册,服务发现,服务 配置以及管理功能的微服务框架,因此我们决定提供内置的更强 大的Metrics功能: • 开箱即用,不写一行代码输出关键Metrics,全面覆盖调用数、TPS、 Latency等; • 基于Netflix 。 基于BMI示例演示(15min) • 示例项目BMI介绍 • 如何使用ServiceComb Java Chassis Metrics • 如何与普罗米修斯集成 依赖关系 Metrics列表 Metrics 子项 说明 微服务资源使用 CPU、ThreadCount、Heap、 NonHeap 基本的资源使用状态 Consumer端0 码力 | 18 页 | 938.89 KB | 1 年前3
 ServiceComb介绍ServiceComb(incubating)项⽬目发起⼈人. Apache Member 先后参与多个 Apache项⽬目开发,是 Apache Camel , Apache CXF, Apache ServiceMix, Apache RocketMQ PMC member , Committer. Redhat, IONA, Travelsky ⼤大纲 • ServiceComb项⽬目背景介绍 • ServiceComb的特点 ServiceComb的发展路路线图 • 如何加⼊入ServiceComb社区 微服务架构⾯面临的问题 • 分布式系统问题 • 服务注册发现 • 容错熔断机制 • 限流降级 • 运维相关问题 • 动态配置管理理 • 系统监控 • 路路由管理理 微服务框架与解决⽅方案 • 服务框架 • Service Mesh ServiceComb开源微服务解决⽅方案 ServiceComb微服务解决⽅方案 Java编程(POJO/ Skywalking Zipkin Prometheus Dubbo ServiceMesh K8S 对接⾏行行业解决⽅方案 ServiceComb项⽬目介绍 • Java Chassis • ⾼高性能的微服务框架,提供服务注册发现以及动态配置管理理,以及限流降级,容错熔 断等服务治理理功能 • Service Center • 基于Etcd⾼高性能,⾼高可⽤用服务注册中⼼心 • Saga0 码力 | 16 页 | 877.58 KB | 1 年前3 ServiceComb介绍ServiceComb(incubating)项⽬目发起⼈人. Apache Member 先后参与多个 Apache项⽬目开发,是 Apache Camel , Apache CXF, Apache ServiceMix, Apache RocketMQ PMC member , Committer. Redhat, IONA, Travelsky ⼤大纲 • ServiceComb项⽬目背景介绍 • ServiceComb的特点 ServiceComb的发展路路线图 • 如何加⼊入ServiceComb社区 微服务架构⾯面临的问题 • 分布式系统问题 • 服务注册发现 • 容错熔断机制 • 限流降级 • 运维相关问题 • 动态配置管理理 • 系统监控 • 路路由管理理 微服务框架与解决⽅方案 • 服务框架 • Service Mesh ServiceComb开源微服务解决⽅方案 ServiceComb微服务解决⽅方案 Java编程(POJO/ Skywalking Zipkin Prometheus Dubbo ServiceMesh K8S 对接⾏行行业解决⽅方案 ServiceComb项⽬目介绍 • Java Chassis • ⾼高性能的微服务框架,提供服务注册发现以及动态配置管理理,以及限流降级,容错熔 断等服务治理理功能 • Service Center • 基于Etcd⾼高性能,⾼高可⽤用服务注册中⼼心 • Saga0 码力 | 16 页 | 877.58 KB | 1 年前3
 开源开发者的一天 - Apache ServiceComb票选拔 由会员提名并投 票选拔 由会员提名并投票 选拔 拥有权利 提交issues 及patch 有代码库读 写权限 决策子项目 需求和方向 负责整体孵化项 目决策及投票 提议Committer 候选人及孵化器 候选项目 管理与监督基金会 商务与日常事务 • 注册在美国的非盈利组织 • 提供法律和基础设施的支持 • 完全的自愿组织,虚拟的全球化组织 • 有7000+ committers, 正在孵化的项目 • 组织前身是 1996年成立的 Apache Group • ASF成立于 1999年 Apache软件基金会 涉猎领域 • 人工智能AI • IoT • 大数据 • 金融管理 • 区块链 • …… 未涉猎领域 • 机器人 • 自动驾驶 • 星际探索 • 也有可能是你的项目 [社区网站] http://servicecomb.apache.org [Github 决策透明公开:讨论,决定和存档均基于 mailing list 商业友好的开源许可证, Apache项目使用 permissive license的Apache 2.0许可证 代码是社区合作开发的 投票机制管理社区 代表个人行为不代表企业利益 基于尊重、诚实、专注于技术的社区模 式交流 Apache Way Apache治理之道 [社区网站] http://servicecomb.apache.org0 码力 | 31 页 | 2.02 MB | 1 年前3 开源开发者的一天 - Apache ServiceComb票选拔 由会员提名并投 票选拔 由会员提名并投票 选拔 拥有权利 提交issues 及patch 有代码库读 写权限 决策子项目 需求和方向 负责整体孵化项 目决策及投票 提议Committer 候选人及孵化器 候选项目 管理与监督基金会 商务与日常事务 • 注册在美国的非盈利组织 • 提供法律和基础设施的支持 • 完全的自愿组织,虚拟的全球化组织 • 有7000+ committers, 正在孵化的项目 • 组织前身是 1996年成立的 Apache Group • ASF成立于 1999年 Apache软件基金会 涉猎领域 • 人工智能AI • IoT • 大数据 • 金融管理 • 区块链 • …… 未涉猎领域 • 机器人 • 自动驾驶 • 星际探索 • 也有可能是你的项目 [社区网站] http://servicecomb.apache.org [Github 决策透明公开:讨论,决定和存档均基于 mailing list 商业友好的开源许可证, Apache项目使用 permissive license的Apache 2.0许可证 代码是社区合作开发的 投票机制管理社区 代表个人行为不代表企业利益 基于尊重、诚实、专注于技术的社区模 式交流 Apache Way Apache治理之道 [社区网站] http://servicecomb.apache.org0 码力 | 31 页 | 2.02 MB | 1 年前3
 《Saga分布式事务解决⽅案与实践》演讲者/姜宁《Saga分布式事务解决⽅方案与实践》 演讲者/姜宁 关于我 • 华为开源能⼒力力中⼼心 • ServiceComb项⽬目负责⼈人 • Apache Member , IPMC, 多个Apache项⽬目 • RedHat, IONA, Travelsky 议题 • 微服务事务⼀一致性问题? • 业界Saga的解决⽅方案 • ServiceComb Saga的演进 • Transaction 集中式Saga实现过程中问题 • 好处 • 集中式的服务调⽤用易易于监控和协调 • 坏处 • 通过JSon描述Saga事务执⾏行行灵活性不不⾼高 • 业务描述与代码相分离,需要依赖UI⼯工具的帮助 • 如何解决⾃自动获取Saga事务定义的问题? ⾃自动构造事务调⽤用信息 A B E C D Service Provider Global Tx Id Local0 码力 | 33 页 | 2.38 MB | 1 年前3 《Saga分布式事务解决⽅案与实践》演讲者/姜宁《Saga分布式事务解决⽅方案与实践》 演讲者/姜宁 关于我 • 华为开源能⼒力力中⼼心 • ServiceComb项⽬目负责⼈人 • Apache Member , IPMC, 多个Apache项⽬目 • RedHat, IONA, Travelsky 议题 • 微服务事务⼀一致性问题? • 业界Saga的解决⽅方案 • ServiceComb Saga的演进 • Transaction 集中式Saga实现过程中问题 • 好处 • 集中式的服务调⽤用易易于监控和协调 • 坏处 • 通过JSon描述Saga事务执⾏行行灵活性不不⾼高 • 业务描述与代码相分离,需要依赖UI⼯工具的帮助 • 如何解决⾃自动获取Saga事务定义的问题? ⾃自动构造事务调⽤用信息 A B E C D Service Provider Global Tx Id Local0 码力 | 33 页 | 2.38 MB | 1 年前3
 《Saga分布式事务解决⽅案与实践》演讲者/姜宁《Saga分布式事务解决⽅方案与实践》 演讲者/姜宁 关于我 • 华为开源能⼒力力中⼼心 • ServiceComb项⽬目负责⼈人 • Apache Member , IPMC, 多个Apache项⽬目 • RedHat, IONA, Travelsky 议题 • 微服务事务⼀一致性问题? • 业界Saga的解决⽅方案 • ServiceComb Saga的演进 • Transaction 集中式Saga实现过程中问题 • 好处 • 集中式的服务调⽤用易易于监控和协调 • 坏处 • 通过JSon描述Saga事务执⾏行行灵活性不不⾼高 • 业务描述与代码相分离,需要依赖UI⼯工具的帮助 • 如何解决⾃自动获取Saga事务定义的问题? ⾃自动构造事务调⽤用信息 A B E C D Service Provider Global Tx Id Local0 码力 | 39 页 | 2.78 MB | 1 年前3 《Saga分布式事务解决⽅案与实践》演讲者/姜宁《Saga分布式事务解决⽅方案与实践》 演讲者/姜宁 关于我 • 华为开源能⼒力力中⼼心 • ServiceComb项⽬目负责⼈人 • Apache Member , IPMC, 多个Apache项⽬目 • RedHat, IONA, Travelsky 议题 • 微服务事务⼀一致性问题? • 业界Saga的解决⽅方案 • ServiceComb Saga的演进 • Transaction 集中式Saga实现过程中问题 • 好处 • 集中式的服务调⽤用易易于监控和协调 • 坏处 • 通过JSon描述Saga事务执⾏行行灵活性不不⾼高 • 业务描述与代码相分离,需要依赖UI⼯工具的帮助 • 如何解决⾃自动获取Saga事务定义的问题? ⾃自动构造事务调⽤用信息 A B E C D Service Provider Global Tx Id Local0 码力 | 39 页 | 2.78 MB | 1 年前3
 ServiceComb在华为消费者云的亿级用户微服务实践incubator.apache.org/ Gitter: https://gitter.im/ServiceCombUsers/Lobby 遵循OpenAPI Specification,消费端、提供端只依赖API  API描述:无论Rest API,或者RPC Highway API,统一使用Swagger YAML定义API  微服务代码生成:服务端和客户端都基于API定义,通过 Se 端的类库定义,双方互相解耦  微服务接口测试:测试基于流水线的API定义生成自动化测试用例, 防止开发本地随意修改API  微服务API依赖关系:通过微服务流水线编译、打包和系统集成 测试,识别并展示微服务API之间的依赖关系(我依赖谁、谁依赖我)  API变更管控:API变更邮件通知和审批,每日微服务流水线构建, 及时发现接口不兼容问题 实践-不同的微服务开发风格 Website: im/ServiceCombUsers/Lobby 适合异步的业务采用全栈异步架构,提升性能和可靠性 异步场景1:降低长流程/复杂业务流程时延:消费端需要调用多个微服务,进行业务逻辑编排,多个微服务之间没有执行先后顺序 和参数依赖,可以通过异步微服务调用并行执行 异步场景2:性能提升:使用更少的线程处理更多的消息,提升线程和I/O利用效率 异步场景3:业务超时较长:业务上对服务调用时延不敏感(例如1-3S),如果采用同步调用0 码力 | 15 页 | 1.15 MB | 1 年前3 ServiceComb在华为消费者云的亿级用户微服务实践incubator.apache.org/ Gitter: https://gitter.im/ServiceCombUsers/Lobby 遵循OpenAPI Specification,消费端、提供端只依赖API  API描述:无论Rest API,或者RPC Highway API,统一使用Swagger YAML定义API  微服务代码生成:服务端和客户端都基于API定义,通过 Se 端的类库定义,双方互相解耦  微服务接口测试:测试基于流水线的API定义生成自动化测试用例, 防止开发本地随意修改API  微服务API依赖关系:通过微服务流水线编译、打包和系统集成 测试,识别并展示微服务API之间的依赖关系(我依赖谁、谁依赖我)  API变更管控:API变更邮件通知和审批,每日微服务流水线构建, 及时发现接口不兼容问题 实践-不同的微服务开发风格 Website: im/ServiceCombUsers/Lobby 适合异步的业务采用全栈异步架构,提升性能和可靠性 异步场景1:降低长流程/复杂业务流程时延:消费端需要调用多个微服务,进行业务逻辑编排,多个微服务之间没有执行先后顺序 和参数依赖,可以通过异步微服务调用并行执行 异步场景2:性能提升:使用更少的线程处理更多的消息,提升线程和I/O利用效率 异步场景3:业务超时较长:业务上对服务调用时延不敏感(例如1-3S),如果采用同步调用0 码力 | 15 页 | 1.15 MB | 1 年前3
 消费者云CSE微服务实践CSE在消费者云业务的实践-Spring MVC模式开发微服务 1、配置spring mvc依赖 2、注解Service 3、发布Service 优势:除了Spring MVC开发模式,同时 还支持:  JAX-RS  透明RPC CSE在消费者云业务的实践-可靠性 1、分布式服务化本身引入的潜在故障点: 2、微服务第三方依赖潜在故障点: CSE的可靠性设计:  集群容错,自劢路由 布前,需 要走服务预发布流程,由架构师戒者项目经理对需要上线的 服务做发布审核,审核通过的才能够上线 服务治理目的:满足服务上下线管控、保障微服务的高效、 健康运行 部分服务治理配置项: CSE在消费者云业务的实践-更多实践 调用链跟踪,不Zipkin集成,自定义调用链打点 集成Nginx做边缘服务(API接入) 本地开发不调试 分布式配置服务 HTTP/20 码力 | 22 页 | 1.39 MB | 1 年前3 消费者云CSE微服务实践CSE在消费者云业务的实践-Spring MVC模式开发微服务 1、配置spring mvc依赖 2、注解Service 3、发布Service 优势:除了Spring MVC开发模式,同时 还支持:  JAX-RS  透明RPC CSE在消费者云业务的实践-可靠性 1、分布式服务化本身引入的潜在故障点: 2、微服务第三方依赖潜在故障点: CSE的可靠性设计:  集群容错,自劢路由 布前,需 要走服务预发布流程,由架构师戒者项目经理对需要上线的 服务做发布审核,审核通过的才能够上线 服务治理目的:满足服务上下线管控、保障微服务的高效、 健康运行 部分服务治理配置项: CSE在消费者云业务的实践-更多实践 调用链跟踪,不Zipkin集成,自定义调用链打点 集成Nginx做边缘服务(API接入) 本地开发不调试 分布式配置服务 HTTP/20 码力 | 22 页 | 1.39 MB | 1 年前3
 ServiceCenter - 服务注册中心提供标准接口(RESTful) 2. 负载均衡,服务订阅(客户端LB,长连接) 3. 运行时依赖(Go) 4. 可靠性(BASE,最终一致性) 从服务注册中心到服务管理中心 1. 元数据 2. 依赖关系 3. 实例变化推送 4. 多租隔离 5. 高可用性保障 从服务注册中心到服务管理中心 元数据 1. 应用App,便于微服务可在多个应用间重用 2. 微服务名称,App内唯一 每个请求都能接受到一个响应,无论响应成功戒失败。 Partition tolerance(分区容错性),当出现网络分区故障时系统的容错能力 从微服务到服务管理中心 1.实例缓存机制 从微服务到服务管理中心 2.心跳保活机制 从服务管理中心到etcd 1.异步缓存机制 从服务管理中心到etcd 2.异步心跳机制 自我保护机制 前面提到的缓存机制,保证了ServiceCenter在etcd出现网络分区故障时依0 码力 | 18 页 | 856.27 KB | 1 年前3 ServiceCenter - 服务注册中心提供标准接口(RESTful) 2. 负载均衡,服务订阅(客户端LB,长连接) 3. 运行时依赖(Go) 4. 可靠性(BASE,最终一致性) 从服务注册中心到服务管理中心 1. 元数据 2. 依赖关系 3. 实例变化推送 4. 多租隔离 5. 高可用性保障 从服务注册中心到服务管理中心 元数据 1. 应用App,便于微服务可在多个应用间重用 2. 微服务名称,App内唯一 每个请求都能接受到一个响应,无论响应成功戒失败。 Partition tolerance(分区容错性),当出现网络分区故障时系统的容错能力 从微服务到服务管理中心 1.实例缓存机制 从微服务到服务管理中心 2.心跳保活机制 从服务管理中心到etcd 1.异步缓存机制 从服务管理中心到etcd 2.异步心跳机制 自我保护机制 前面提到的缓存机制,保证了ServiceCenter在etcd出现网络分区故障时依0 码力 | 18 页 | 856.27 KB | 1 年前3
共 41 条
- 1
- 2
- 3
- 4
- 5













