庖丁解牛:华为云微服务工具解放开发者可扩展性 受限 灵活 可重用性 低 高 实现业务复杂性分解难度 困难 容易 产品创新复杂度 困难 容易 一致性实现成本 低 高 时延 低 高 资源成本 低 高 关联查询复杂度 简单 复杂 远程调用 不涉及 涉及 服务治理 不涉及 涉及 对开发人员的要求 低 高 对工具的依赖 较低 较高 运维复杂度 低 高 Huawei Confidential 4 微服务架构的第一大问题——如何拆分微服务? B库 服务A 服务B 步骤3:大表水平拆分,实 现水平扩展,提升访问速度 (分区分库) 步骤4:根据表结构变化,自动调整DDL/CRUD等SQL语句自动生成java的数据访问服务 步骤5:数据表执行、数据搬迁 业务应用层 业务应用层 业务应用层 通过对表的关联 关系及应用情况, 反向推导微服务 拆分策略 ╳ ╳ Huawei Confidential 9 拆分原理 handler0 码力 | 14 页 | 1.54 MB | 1 年前3
ServiceComb 的前世今生服 务 隔 离 容 量 预 测 微 服 务 安 全 工具链生态 契约开发 工具 代码自动 生成 文档自动 生成 自动测试 工具 本地远程 调试 微服务 流水线 资源管理 容器编排 & 调 度 应用管理 弹性伸缩 灰度发布 监控运维APM Go语言 XXX语言 Java语言 服务契约 & OpenAPI0 码力 | 16 页 | 1.45 MB | 1 年前3
杨钦民-唯品会微服务架构演进之路v0.2����� �� ������ Venus��—���������� ����� ������� �� ���� ���� OSP���� �������� ������� ��� 142服务化远程调用机制 ���� ����� ���� ����� �� ��SDK ����� ���� ���� �� �� ����� ���� ����0 码力 | 43 页 | 3.89 MB | 1 年前3
Service Mesh在华为公
有云的实践Tracing Transport Order Mesher Order Mesher Order Mesher 可定制 固定组件 Http Server Transport 接受远程请求 Archiaus-go Registry Log Metric Collector SockShop Web http://10.100.2.13:30101/list Config center0 码力 | 52 页 | 4.37 MB | 1 年前3
ServiceComb java SDK详解透明RPC、JAX-RS、SpringMVC统一规则: class Schema { // 传统同步调用,默认在线程池中执行 public String hello1(String name) { return “hello “ + name; } // 默认为reactive模式,不通过线程池执行 public CompletableFuturehello2(String name) { 码流 此时可以通过自定义路由进行 内置自动路由规则基于同样的机制实现: • 通过SPI声明VertxHttpDispatcher的扩展 • 通过getOrder声明相对其他dispatcher的执行顺序 • 自己能处理的url,拦截处理 – 根据自定义规则获取目标微服务名、版本规则、新url等等参数 – 通过EdgeInvocation转发请求 • 自己不能处理的url,放通给其他dispatcher处理 MetricsInitializer中的getOrder规划执行顺序, order数字越小,越先执行。 • Metrics-core实现3类MetricsInitializer: – DefaultRegistryInitializer: 实例化并注册 spectator-reg-servo,设置较小的order,保 证比下面2类MetricsInitializer先执行 – Meters Initializer: 0 码力 | 21 页 | 1.15 MB | 1 年前3
反应式微服务框架ServiceComb设计思想&mdash的通信模型演进—Reactor 黄金法则:不要阻塞Event Loop 什么才叫阻塞? n Thead.sleep() n 等待一个锁 n 等待一个互斥信号或监视器(例如同步的代码块) n 执行一个长时间数据库操作并等待其结果 n 执行一个复杂的计算,占用了可感知的时长 n 在循环语句中长时间逗留 10000TPS=0.1ms处理一个请求 如果利⽤多核? ServiceComb 采⽤Vert.x的背景 3 ServiceComb非阻塞线程模型 p 与传统流程不同的是,所有功能都在 eventloop中执行,并不会进行线程切 换 p 橙色箭头走完后,对本线程的占用即完 成了,不会阻塞等待应答,该线程可以 处理其他任务 p 当收到远端应答后,由网络数据驱动开 始走红色箭头的应答流程 p 只要有任务,线程就不会停止,会一直 执行任务,可以充分利用cpu资源,也 不会产生多余的线程切换,去无谓地消 耗cpu。0 码力 | 33 页 | 5.68 MB | 1 年前3
ServiceComb 微服务框架•Alpha充当协调者的角色,主要负责对事务的 事件进行持久化存储以及协调子事务的状态,使 其最终得以与全局事务的状态保持一致,即保证 事务中的子事务全执行,或全不执行。 •Omega是用户程序侧代理,负责对网络请求 进行拦截并向Alpha上报事务事件,并在异常情 况下根据Alpha下发的指令执行相应的补偿或重 试操作。 Service A Omega Service B Omega Alpha Alpha Alpha0 码力 | 11 页 | 668.81 KB | 1 年前3
ServiceComb在华为消费者云的亿级用户微服务实践obby 适合异步的业务采用全栈异步架构,提升性能和可靠性 异步场景1:降低长流程/复杂业务流程时延:消费端需要调用多个微服务,进行业务逻辑编排,多个微服务之间没有执行先后顺序 和参数依赖,可以通过异步微服务调用并行执行 异步场景2:性能提升:使用更少的线程处理更多的消息,提升线程和I/O利用效率 异步场景3:业务超时较长:业务上对服务调用时延不敏感(例如1-3S),如果采用同步调用 +0 码力 | 15 页 | 1.15 MB | 1 年前3
ServiceComb雄关漫道Center性能,修复Bug • Saga 0.1.0 • 支持通过Annotation在应用代码事务 • Pack原型实现,通过切面编程技术获取微服务的事务调用信息,采用集中式的事务管理器协调 事务执行 ServiceComb近期发展路线图 响应式编程支持 RxJava AsyncRestTemplate CompletableFuture 生态支持 Java 9支持 Spring Boot0 码力 | 20 页 | 4.00 MB | 1 年前3
华为微服务框架ServiceCombCenter性能,修复Bug • Saga 0.1.0 • 支持通过Annotation在用户代码定义事务 • Pack原型实现,通过切面编程技术获取事务信息,通过集中式的事务管 理器协调事务执行情况 2018 Building Microservice NO.1 深圳站: Cloud Native 架构下的 K8S 和微服务实践 如何参不到ServiceComb社区 • 线上0 码力 | 28 页 | 1.53 MB | 1 年前3
共 12 条
- 1
- 2













