TarsGo微服务开发实践-利开园TarsGo微服务高效开发 最佳实践 利开园 腾讯高级工程师 2021-08-21 关于我 Docker TarsGo Tars+K8S DevOps 2015至今 腾讯 目录 1. RPC 2. 日志 3. 监控 4. 调用链 5. 网关 6. 错误码 7. 配置 8. 云原生 9. 标准化 背景 • Tars是腾讯开源的微服务解决方案 • 高性能的RPC框架 • 丰富的服务治理能力 丰富的服务治理能力 • 支持Golang/Cpp/Java/PHP/Nodejs • 腾讯内部(TAF)曾经应用最广的开发框架 • Tars应用实践:https://github.com/tarscloud/gopractice RPC:不应该只是RPC • 基本功能:远程函数调用 • 可观测 • 名字服务+SET流量管理 • 熔断与恢复 • 轮询/一致性Hash • 错误码管理 日志:排查问题的利器 日志:排查问题的利器 • 格式化 =〉 JSON • 单机withFields • 基于context • 跨服务withFields • 基于透传元数据 • 按大小/时间滚动 • 远程日志 vs 本地日志 的取舍 监控:主动发现问题 • RPC接口默认监控 • 自定义业务监控 • 基于Prometheus Tracing:在复杂系统中定位问题 • 依赖框架Context透传 • 基于OpenTracing+Jaeger0 码力 | 15 页 | 4.23 MB | 1 年前3
Experience on Fast Microservice Programming - 亲自动手,体验微服务开源开发-快速微服务化编程体验0 码力 | 12 页 | 2.56 MB | 1 年前3
微博Service Mesh实践微博搜索/丁振凯 2018.07.29 微博Service Mesh实践 —Weibo MeshService Mesh Meetup · BeiJing �2 微博Service Mesh实践 - WeiboMesh CONTENTS 内容提要为什什么要做跨语⾔言服务化 • 需求 • 趋势Service Mesh Meetup · BeiJing 平台体系 微博Service Mesh实践 Registry Motan ➢ 服务治理理 ➢ 动态路路由 Vintage ➢ 注册中⼼心 Opendcp ➢ 智能弹性调度 Graphite ➢ 实时统计监控 平台微服务相关建设⽐比较完善 Notify Subscribe RegisterService Mesh Meetup · BeiJing 业务部⻔门调⽤用链 微博Service Mesh实践 - WeiboMesh B WEB B Golang 服务 PHP 服务 OR服务 …… RestFul API 业务部⻔门 Motan ➢ 业务部⻔门语⾔言种类繁多 ➢ 微服务体系建设不不完善/重复 ➢ ⽹网络抖动,dns不不稳定 ➢ 4,7层冗⻓长调⽤用链及资源消耗 4,7层调度Service Mesh Meetup · BeiJing 趋势 �6 微博Service Mesh实践 -0 码力 | 43 页 | 1007.85 KB | 6 月前3
使用微服务架构快速开发万级TPS高可用电商系统[社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb 使用微服务架构快速开发万级TPS高可用电商系统 git clone https://github.com/alec-z/servicecomb-samples cd servicecomb-samples/houserush/script/docker org [Github ] https://github.com/apache?q=servicecomb 什么是微服务架构? 一个既“简单”的又“强大” 的后端架构模式。 简单: • 每个服务相对较小并比较容易开发维护。 • 服务可以独立的部署。 • 更适合小团队(个人)开发管理 • 更容易实验和采纳新的技术。 强大: • 使大型的复杂应用程序可以持续的交付和持续的部署。 • 更容易测试 http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb Demo简介 从一个简单的电商Demo开始。 背景:开发商开盘时,让客户“抢购”其当前推售的所有房源,先抢到先得。 客户管理 customer- manage 楼盘管理 realestate 抢购/下订单 house-order 用户中心 user-center0 码力 | 15 页 | 1.46 MB | 1 年前3
庖丁解牛:华为云微服务工具解放开发者庖丁解牛:华为云微服务工具解放开发者 部门:应用平台服务 作者:王启军 日期:20190920 Security Level: 目录 1. 微服务拆分工具 2. 契约管理工具 Huawei Confidential 3 微服务架构的优势 因素 单体架构 微服务架构 交付速度 较慢 较快 故障隔离范围 线程级 进程级 整体可用性 较低 更高 架构持续演进 困难 简单 沟通效率 一致性实现成本 低 高 时延 低 高 资源成本 低 高 关联查询复杂度 简单 复杂 远程调用 不涉及 涉及 服务治理 不涉及 涉及 对开发人员的要求 低 高 对工具的依赖 较低 较高 运维复杂度 低 高 Huawei Confidential 4 微服务架构的第一大问题——如何拆分微服务? •影响因素 >团队大小 >交付周期 >业务方向 >故障范围 >现有数据规模 >吞吐量 >一致性 >…… Confidential 5 拆分不好,可能带来的问题 •拆分不好,可能带来的问题 >服务数量爆炸,运维复杂 >服务数量太少,不够灵活 >一个user story影响众多服务 >接口频繁变更 >大量关联查询 >系统架构复杂度提升 Huawei Confidential 6 通过微服务拆分工具解放开发者 支撑活动 方法论 • ThoughtWorks五步十一阶 • DDD聚合 • 事件源Event0 码力 | 14 页 | 1.54 MB | 1 年前3
rocketmq 服务部署链滴 rocketmq 服务部署 作者:gitsilence 原文链接:https://ld246.com/article/1632123166220 来源网站:链滴 许可协议:署名-相同方式共享 4.0 国际 (CC BY-SA 4.0) 摘自:https://zhuanlan.zhihu.com/p/226173170 rocketmq源码构建 系统:Mac OS 12.0 numanode3 │ ├── mqnamesrv │ ├── mqnamesrv.cmd │ ├── mqshutdown │ ├── mqshutdown.cmd 原文链接:rocketmq 服务部署 │ ├── os.sh │ ├── play.cmd │ ├── play.sh │ ├── runbroker.cmd │ ├── runbroker.sh │ ├── jaeger-tracerresolver-1.6.0.jar ├── javassist-3.20.0-GA.jar ├── javax.annotation-api-1.3.2.jar 原文链接:rocketmq 服务部署 ├── jcommander-1.72.jar ├── jna-4.2.2.jar ├── kotlin-stdlib-1.4.10.jar ├── kotlin-stdlib-common-10 码力 | 11 页 | 284.35 KB | 1 年前3
ServiceComb 微服务框架ServiceComb 微服务框架 杨波 ServiceComb 社区 / 华为开源软件能力中心 全栈生态:具有完整开源生态技术栈的解决方案,完全无商业Lock-in,支持平滑上云 配置中心生态 Others…… 微服务生态 ServiceComb 微服务解决方案 处理链 ServiceComb微服务解决方案 Java编程 (POJO/SpringM VC/JAX-RS) Golang 编程 限流 负载均衡 分布式追踪 动态配置 服务注册 服务度量 通信协议 (Rest&RPC) 边缘服务 熔断/容错 JWT认证 Saga事务一致性 服务契约 平滑上云 开源生态能力互通 微服务脚手架 云 Dubbo SpringBoot SpringCloud ServiceMesh APM/Tracing生态 Prometheus Zipkin ServiceComb子系统 Saga 分布式事务解决方案 服务中心 Java微服务SDK Go微服务SDK ServiceMesh ServiceCenter 是一个使用Go构造的、建立在etcd存储上的高性能、高 可用服务中心。 Java Chassis是一个由编程模型、运行模型、通信模型和服务契约四个 部分组成的微服务框架。 Saga 是一个微服务数据一致性解决方案。 ServiceComb的开放性设计0 码力 | 11 页 | 668.81 KB | 1 年前3
ServiceCenter - 服务注册中心ServiceCenter 崔毅华 什么是服务注册中心? 服务注册中心具有服务注册和服务发现能力的可靠的分布式 服务。 1. 服务注册 2. 服务发现 3. 可靠 4. 分布式 为什么需要服务注册中心? 是单体架构向微服务服务化演迚的需要。 服务注册中心 1. 服务端发现 1. DNS 2. 客户端发现 1. ServiceCenter,eureka etcd,zookeeper,consul 为什么实现自己的服务注册中心? 1. 提供标准接口(RESTful) 2. 负载均衡,服务订阅(客户端LB,长连接) 3. 运行时依赖(Go) 4. 可靠性(BASE,最终一致性) 从服务注册中心到服务管理中心 1. 元数据 2. 依赖关系 3. 实例变化推送 4. 多租隔离 5. 高可用性保障 从服务注册中心到服务管理中心 元数据 1 1. 应用App,便于微服务可在多个应用间重用 2. 微服务名称,App内唯一 3. 微服务描述信息,让使用者可以快速了解到业务范畴等 4. 微服务访问契约内容,API能力的描述文件 5. 微服务扩展属性,添加具体业务扩展属性 6. 微服务黑白名单,支持Provider侧设置路由策略 7. 微服务标签,支持按标签检索 高可用性保障 互联网分布式系统设计的准则:BASE0 码力 | 18 页 | 856.27 KB | 1 年前3
Java 应用与开发 - Java 技术概述及开发环境Java 技术概述 Java 平台核心机制 Java 开发环境 Java 基本开发流程 Java 应用与开发 Java 技术概述及开发环境 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 September 18, 2018 大纲 Java 技术概述 Java 平台核心机制 Java 开发环境 Java 基本开发流程 参考书目 1. 陈国君等编著, Java 程序设计基础(第 平台核心机制 Java 开发环境 Java 基本开发流程 本章学习目标 1. 了解 Java 的发展历程 2. 理解 Java 平台的相关概念和机制 3. 掌握基本 Java 开发环境配置 大纲 Java 技术概述 Java 平台核心机制 Java 开发环境 Java 基本开发流程 大纲 Java 技术概述 Java 平台核心机制 Java 开发环境 Java 基本开发流程 大纲 Java 平台核心机制 Java 开发环境 Java 基本开发流程 ���� Java 技术概述 Java 平台核心机制 Java 开发环境 Java 基本开发流程 大纲 Java 技术概述 Java 平台核心机制 Java 开发环境 Java 基本开发流程 那些伟大的 LOGO 大纲 Java 技术概述 Java 平台核心机制 Java 开发环境 Java 基本开发流程 Sun 公司大事记0 码力 | 33 页 | 1.17 MB | 1 年前3
PostgreSQL 开发最佳实践PostgreSQL 开发最佳实践 digoal 阿里云 2016Postgres中国用户大会 目录 • 规约的重要性 • 命名规约 • 设计规约 • 管理规约 • 稳定性与性能建议 • 云数据库使用建议 2016Postgres中国用户大会 规约的重要性 2016Postgres中国用户大会 目录 • 规约的重要性 • 命名规约 • 设计规约 explain analyze query; rollback; • create index CONCURRENTLY idx on tbl(id); • 密码复杂度、认证方法 • 业务系统,开发测试账号,不要使用数据库超 级用户。 • 长连接relcache , syscache • 数据隔离(cluster -> database -> schema) • 主备切换(prewarm)0 码力 | 16 页 | 381.36 KB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













