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
從微軟角度看Kubernetes從微軟角度看 Kubernetes 對公有雲所帶來的改變與挑戰 Tom Lee 雲端解決方案架構師 合作夥伴暨商務事業群 台灣微軟 Policy Routing Telemetry 智慧端點卻連接著笨管線 Smart endpoints, dumb pipes 過去 25 年都是如此運作 服務數量越來越多,端點越來越多,該如何管理 ? 服務網格 Service Mesh 更聰明的管線0 码力 | 13 页 | 1.49 MB | 1 年前3
Rainbond服务日志管理RAINBOND服务⽇日志管理理 好⾬雨交付⼯工程师-郭逊 RAINBOND 线上培训(第⼋八期) 2019/7/31 1.Rainbond⾃自身的⽇日志管理理机制 2.对接 Elasticsearch 3.演示示例例 ⼤大纲 RAINBOND 线上培训(第⼋八期) 2019/7/31 1.RAINBOND⾃自身⽇日志管理理机制 1.1 ⽇日志界⾯面 RAINBOND RAINBOND⾃自身⽇日志管理理机制 1.3 ⽇日志来源,以及相关原理理 node服务功能与⻆角⾊色 rbd-eventlog组件功能与⻆角⾊色 NODE服务会监视DOCKERD进程,观察其创建与销毁容器。获取⽂件系统中容器⽇志的路径, 监视来⾃容器标准输出和标准错误输出,并以UDP协议分发到RBD-EVENTLOG组件。 接收来⾃NODE服务的推送,⽤WEBSOCKET协议将⽇志内容推送到⽤户所操作的应⽤控制台。0 码力 | 11 页 | 1.62 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
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













