NSQ - 陈冶
stream computing stream computing 使⽤需求 • 数据缓冲,提⾼可⽤性 ,缓冲服务故障 • 数据⼴播,分发给多个服务 • 负载均衡,提⾼消费者的扩展性 使⽤案例 ⼴告点击数统计 Web Service MySQL cluster 4. 正确消费确认 MQ stream computing Web Service stream stream computing stream computing Msg 使⽤需求 • 数据缓冲,提⾼可⽤性 ,缓冲服务故障 • 数据⼴播,分发给多个服务 • 负载均衡,提⾼消费者的扩展性 • 消费反馈,确保消息不丢失 使⽤案例 ⼴告点击数统计 Web Service MySQL cluster User Click User Click User Click 数据⼴播,分发给多个服务 • 负载均衡,提⾼消费者的扩展性 • 消费反馈,确保消息不丢失 • MQ:分布式部署,排除⾃⾝单点故障 使⽤需求 • 数据缓冲,提⾼可⽤性 ,缓冲服务故障 • 数据⼴播,分发给多个服务 • 负载均衡,提⾼消费者的扩展性 • 消费反馈,确保消息不丢失 • MQ:分布式部署,排除⾃⾝单点故障 • MQ:具备横向扩展性,排除性能瓶颈 NSQ 是怎么⾯对这些问题的0 码力 | 37 页 | 2.49 MB | 1 年前31.每秒百万数据点 Go 应用监控系统演进
集群经常崩溃 ● 维护时 Prometheus 会丢数据 ● 成本高,需要大容量 SSD 磁盘 2021-2022 核心需求 可跨集群查询 长期存储 兼容 Prometheus 扩展性强 无侵入性 Why Thanos VS VS 架构 S3 Thanos 架构 Querier Query-Frontend Store Gateway S3 2022 年中指标数据 VictoriaMetrics 收益 ● 高性能,看板加载时间从 120s 降低到 10s ● 兼容 Prometheus,可以无缝迁移 ● 成本更低,只需要 thanos 的 50% 资源 ● 扩展性强,所有组件支持水平扩容 2023 年底架构 VictoriaMetrics 架构 VMStorage VMSelect VMInsert Why VictoriaMetrics so good?0 码力 | 42 页 | 2.32 MB | 1 年前3基于amqp实现的golang消息队列MaxQ
基于amqp实现的golang消息队列MaxQ http://192.168.10.11:3999/maxq.slide#1 10/22 5. MaxQ相关特性 1. 消息可靠性 2. 容错性 3. 扩展性 4. 高并发 7/1/2017 基于amqp实现的golang消息队列MaxQ http://192.168.10.11:3999/maxq.slide#1 11/22 消息可靠性 1) slide#1 14/22 网络分区 7/1/2017 基于amqp实现的golang消息队列MaxQ http://192.168.10.11:3999/maxq.slide#1 15/22 扩展性 HA、Exchange和Queue动态扩展属性参数 Exchange、Binding、Queue支持自定义扩展, 如:x-message-ttl、x-expires、x-max- length0 码力 | 22 页 | 1.45 MB | 1 年前3Golang 微服务在腾讯游戏用户运营领域的探索及实践
运营成本 Golang CSP并发 多核友好 自动GC 语法简洁 开源库多 CGO集 成 快速交付 内核稳定 生态趋势 数据中间件——指标服务 Golang 高性能 高可用 扩展性 安全性 可运营性 业务发展驱动技术演进 服务网关 过载保护 流控降级 SET部署 立体监控 敏捷集成 微服务探索 跨部门 异构系统 非标接口 托管接入 业务隔离 解析适配0 码力 | 34 页 | 1.22 MB | 1 年前3Golang在接入层长连接服务中的实践-黄欣
实时在线百万级别 • 每天平均70亿次的推送量 背景—总结 • 业务上核心依赖 • Golang成功的使用案例 目录 • 背景 • 心得 架构 • 整体架构图 架构—接口设计 • 原则 – 扩展性 – 稳定性(最好不用升级) • 解决方法 – Protobuf(golang) – 接口设计分层 • 框架层:模块间通信协议(类似tcp/udp) • 业务层:bytes(类似应用层)留给业务自己定义就好了0 码力 | 31 页 | 1.67 MB | 1 年前3IPC性能极致优化方案-RPAL落地实践
结合用户态协议栈,实现网络 IO 绕过内核 CloudWeGo 是一套由字节跳动基础架构服务框架团队开源的、 可快速构建企业级云原生微服务架构 的中间件集合。 CloudWeGo 项目共同的特点是高性能、高扩展性、高可靠,专 注于微服务通信与治理。 CloudWeGo 包括 Kitex、Hertz、Volo、Netpoll、Monoio、Sonic 等多个重点子项目,涵盖 Go 与 Rust 开发语言,0 码力 | 39 页 | 2.98 MB | 1 年前35.cgo 原理解析及优化实践
网关的扩展机制 什么是 MoE 举个例子 为什么需要 MoE Envoy 研发效能 良好的生态,上手门槛低 Wasm?Lua? Golang 云原生架构 良好的可扩展性 高性能 MoE 有什么挑战 业界少见 - 重度依赖 cgo 性能敏感 延时敏感 网关场景 cgo 是成熟 & 稳定的 唯一的 bug:trace 工具 性能挖掘空间大0 码力 | 45 页 | 5.74 MB | 1 年前32.7 Golang与高性能DSP竞价系统
⼲⼴广州舜⻜飞信息科技有限公司 All Right ReservedAll Right Reserved • 专为统计分析⽽而⽣生 • 列存储 • shared-nothing的分布式架构,可扩展性、⾼高可⽤用 • 秒级以内对⼗十亿⾏行级别的表进⾏行统计查询 • 对内存要求⾼高,相当于内存数据库 • JAVA系,开源 曝光统计服务: Druid 专业DSP解决⽅方案 © ⼲⼴广州舜⻜飞信息科技有限公司0 码力 | 51 页 | 5.09 MB | 1 年前3Go Web编程
务器之间的交互延迟。统一界面简化了整个系统架构,改进了子系统之间交互的可见性。REST简化了客户端和服务器 的实现,而且对于使用REST开发的应用程序更加容易扩展。 下图展示了REST的扩展性: 190 图8.6 REST的扩展性 RESTful的实现 RESTful的实现 Go没有为REST提供直接支持,但是因为RESTful是基于HTTP协议实现的,所以我们可以利用net/http包来自己实 nil 229 } 如上所示,在我们访问view的时候可以根据不同的情况获取不同的错误码和错误信息,虽然这个和第一个版本的代码 量差不多,但是这个显示的错误更加明显,提示的错误信息更加友好,扩展性也比第一个更好。 总结 总结 在程序设计中,容错是相当重要的一部分工作,在Go中它是通过错误处理来实现的,error虽然只是一个接口,但是 其变化却可以有很多,我们可以根据自己的需求来实现不0 码力 | 295 页 | 5.91 MB | 1 年前3Go基础语法宝典
这样修改完自定义错误之后,逻辑处理可以改成如下方式: 如上所示,在访问view的时候可以根据不同的情况获取不同的错误码和错误信息,虽然这个和第一个版 本的代码量差不多,但是这个显示的错误更加明显,提示的错误信息更加友好,扩展性也比第一个更 好。 总结 在程序设计中,容错是相当重要的一部分工作,在Go中它是通过错误处理来实现的,error虽然只是一 个接口,但是其变化却可以有很多,可以根据自己的需求来实现不同的处理。0 码力 | 47 页 | 1020.34 KB | 1 年前3
共 12 条
- 1
- 2