可视化学习 Go 并发编程
可视化学习 Go 并发编程 2017.8.5 黄庆兵 - 网易 bingohuang.com 并发 简单来说,并发是一种构造程序的方式 Concurrency is not Parallelism Slide (http://talks.golang.org/2012/waza.slide) 1. 并发很强大 2. 并发帮助实现并行,使并行(扩展等)变得容易 3. 并发不是并行 并发不是并行,并发重点是架构,并行重点是执行,两者不同,但相关。 04:22 / 31:21 可视化 并发(Concurrency) & 并行(Parallelism) 一图胜千言! 并行(PARALLELISM) 这是并行 (/2017/go-concurrency-visualize/parallelism.html) 并发(CONCURRENCY) 这是并发 (/2017/go-concu 我们怎样去讲解 Go 的并发? 我们怎样思考 Go 的并发过程? 最终,我们怎样更好的实践 Go 并发编程? 祭出法宝 - GoTrace 一种将 Go 并发过程可视化的开源 (https://github.com/divan/gotrace) 工具 出自 divan (https://github.com/divan) 大神,主要包含两个程序: gotrace(go):分析 go tool trace0 码力 | 29 页 | 1.48 MB | 1 年前31.Golang工具链选择_水羽哲
⼯工具链选择 创业公司 CuriosityChina is a digital and tech company focusing on the development of social CRM, building a one stop social media customer/ user management platform - CURIO. By tracking, analyzing 2 历史与现状 • 开发环境 • 测试环境 • ⽣生产环境 统⼀一开发环境 应⽤用程序运⾏行环境的依赖描述! + + + + Docker Compose 简单的测试⼯工具 gor ngrok 封装你的业务 Generator gor Godep ngrok goconvey 线上应⽤用 项⺫⽬目太多 定制化 服务状态管理 Supervisor0 码力 | 55 页 | 5.09 MB | 1 年前3Go在数据库中间件的应用
Go在数据库中间件的应用 基础架构组/刘延允 liuyun827@foxmail.com 2017年9月 1 关于我 • 刘延允——酷狗音乐,基础架构组 • 数据库变更通知服务 • 酷狗消息队列 • 酷狗数据库中间件 • 主要工作:分布式存储、高可用、数据库 • 两年通信设备开发经验,四年互联网 • 五年C/C++使用经验,一年Golang 2 CONTENTS • 程序开发的需求 平滑上下线Mysql。 • 主备自动切换(主-主模式)。 • 分表设计——按照Hash分表 • 分表设计——按照范围分表(年、月、日、整形) • 数据库表在多个mysql实例间平滑扩容 • 大表拆分为多个子表情况下的平滑扩容 7 系统整体方案 • 现存问题 • 数据库访问基本采用直连方式 • 无法满足数据访问平台化要求 • 配置管理方式落后,运维压力大 • 为什么采用Go来实现 • go诸多优点,可用性高0 码力 | 17 页 | 4.02 MB | 1 年前34.GPT 与数据库的生态整合
GPT 与数据库的生态整合 王琦智 PingCAP TiDB 开发者生态高级工程师 目 录 自然语言到 SQL 01 自然语言到图表 02 GPTs 调用数据库 API 03 总结 04 自然语言到SQL OSS Insight 自然语言到图表 Thoughts to insights made easy(with AI) GPTs 调用数据库 API Thank You0 码力 | 21 页 | 3.33 MB | 1 年前3Go 构建大型开源分布式数据库技术内幕
Go 搭建大型开源分布式数据库技术内幕 shenli@PingCAP 关于我 ● 申砾 (Shen Li) ● TiDB 技术负责人 ● 网易有道 / 360搜索 / PingCAP ● Infrastructure software engineer 为什么需要一个新的数据库? 从单机数据库到 NewSQL ● 关系型数据库 ● NoSQL ● 中间件 ● NewSQL Processing) ● 24/7 availability, even in case of datacenter outages ● Open source, of course 如何构建分布式数据库? 原则 ● 分层 ● Make it right and make it fast. ● 测试很重要 ● 简单易用 ● 和社区结合 架构 TiKV TiKV TiKV TiKV Raft0 码力 | 44 页 | 649.68 KB | 1 年前3大规模高性能区块链架构设计模式与测试框架-李世敬
设计模式与测试框架 Gopher Meetup 深圳站 2021 年 8 ⽉ 21 号 趣�科技 李世敬 目录 区块链概述 01 大规模高性能区块链架构设计介绍 02 基于Go插件的区块链性能测试工具 03 写在最后 04 区块链概述 4 趣链科技 版权所有 ©2016-2021 4 趣链科技 版权所有 ©2016-2021 4 趣链科技 版权所有 ©2016-2021 4 区块链诞生 memory-table write-ahead log ... ... 异步写入 0802 0803 0804 leveldb leveldb leveldb 只读 读写 元数据 索引数据 区块数据库 索引数据库 区块链平台底层采用Filelog+IndexDB混合存储模型,以应对当前业务场景对高磁盘I/O频率和吞吐量的高要求。数据随区块 存储在区块链专用存储引擎Filelog,索引数据存储在由多 系统管理 节点准⼊ 配置变更 权限变更 热备切换 应 ⽤ 场 景 基于Go插件的 区块链性能测试工具 25 趣链科技 版权所有 ©2016-2021 25 趣链科技 版权所有 ©2016-2021 25 趣链科技 版权所有 ©2016-2021 25 通用区块链性能测试工具 强⼤⽽全⾯ 区块链性能测试平台 26 趣链科技 版权所有 ©2016-2021 26 趣链科技 版权所有0 码力 | 39 页 | 56.58 MB | 1 年前31.5 Go 语言构建高并发分布式系统实践
go语⾔言原⽣生提供的各组⼯工具,构建分布式系统配套设施⽅方⾯面,提供了 便利 配套设施= 测试 + 调优 + 监控 + 运维 便利 = 原⽣生profiling⼯工具 + 开协程模拟测试终端+协程协作模拟业务 go语⾔言运维管理⽅方⾯面的独特魅⼒力…… 具有go语⾔言特⾊色的运维 Æ 可视化平台 Profiling可视化 将常规排查问题从⼿手⼯工经验化,变成流程化的过程 性能可视化 具有go语⾔言特⾊色的运维 Æ 可视化平台 Profiling可视化 将常规排查问题从⼿手⼯工经验化,变成流程化的过程 ⽐比较不同时间维度,两次上线后,进程的各种状态 对于优化上线的效果,可评估(上线新功能发现问题与后续确定KPI神器) 通信库状态可视化 Æ 最接近业务场景的百万级别压测后台 profiling 接⼝口 —> 后台定期获取->调⽤用go pprof⽣生成⽂文件->存储 通信库实时数据http接⼝口-> 后台定期获取-> 进⼊入数据库,展⽰示 具有go语⾔言特⾊色的运维 Æ ⼯工具 -> ⽣生成项⺫⽬目公共⽂文件夹下的.go 配置⽂文件 Æ 客户端sdk -> keeper通信 告知⾝身份-> 原⼦子性的换掉全局配置⽂文件 Æ0 码力 | 39 页 | 5.23 MB | 1 年前3基于Go的大数据平台-党合萱
Service API / Portal / 消息 消息 计算 计算 消息 导出任务 导出任务 导出任务 导出任务 导出任务 计算 消息 对象存储服务 HTTP MongoDB 时序数据库 ⽇日志检索服务 XSpark Report Studio 简单 · 可信赖 内容提要 • 系统设计分析与架构 • 多种上下游适配 • ⾼高吞吐/低延迟问题探究 • ⾼高可⽤用与⽔水平扩展 简单 · 可信赖 调度算法 简单 · 可信赖 ⾃自动化运维 简单 · 可信赖 监控⽅方案 • logkit:七⽜牛pandora团队开发的纯go语⾔言数据收集、推 送⼯工具,⽀支持多种数据源,⾼高效易易⽤用 • 时序数据库(TSDB):兼容influxdb,适配grafana 简单 · 可信赖 系统热点⾃自动感知与调整 • ⼀一⽅方⾯面依靠⽇日志对服务做审计、趋势预测,宏观上预知 热点所在 • 较少的⼈人⼯工介⼊入 • 秒级扩容 • 实时的可视化监控系统 • 易易⽤用的报警系统 • ⾃自动⽣生成线上⽇日报 简单 · 可信赖 Go的应⽤用 我们⽤用Golang做了了些什什么 • 流式计算、离线计算、⽇日志检索、时序数据库等⼀一整套服务的核⼼心代码都使⽤用 Golang开发 • 简单、⾼高效、易易⽤用的数据接⼊入⼯工具logkit,除了了pandora之外可以接⼊入多种数据0 码力 | 34 页 | 1.26 MB | 1 年前3基于 mesos 的容器调度框架
mesos 的容器调度框架 http://go-talks.appspot.com/github.com/huangnauh/slides/upone.slide#3 19/36 命令行工具 同时, 我们还提供命令行工具, 以便 App 所有者通过 upone 手动操作上述负载均衡和更新部署 的相关功能 2017/8/3 基于 mesos 的容器调度框架 http://go-talks.appspot 基于 mesos 的容器调度框架 http://go-talks.appspot.com/github.com/huangnauh/slides/upone.slide#3 27/36 raft 可视化 Image generated by RaftScope (https://raft.github.io/raftscope/index.html) 2017/8/3 基于 mesos 的容器调度框架 slide#3 30/36 组件化 store 组件, 已支持 hashicorp/raft-boltdb (https://github.com/hashicorp/raft-boltdb) , 数据库 drive 组件, upone 可以选择 master-agent 模式, 不依赖于 mesos 独立使用 2017/8/3 基于 mesos 的容器调度框架 http://go-talks0 码力 | 36 页 | 2.49 MB | 1 年前3Go 入门指南(The way to Go)
编程语言的爱好者来说,这本书无疑是最适合你的一本书籍,这里包含了当前最全面的学习 资源。本书通过对官方的在线文档、名人博客、书籍、相关文章以及演讲的资料收集和整理,并结合我自 身在软件工程、编程语言和数据库开发的授课经验,将这些零碎的知识点组织成系统化的概念和技术分类 来进行讲解。 随着软件规模的不断扩大,诸多的学者和谷歌的开发者们在公司内部的软件开发过程中开始经历大量的挫 折,在诸多问题上都不能给出令人满意的解决方案,尤其是在使用 Engine)方面的应用(第 20 章)。在本书的最后一章(第 21 章),我们会讨论一些在全世界范围内已经将 Go 语言投入实际开发 的公司和组织。本书将会在最后给出一些对 Go 语言爱好者的引用,Go 相关包和工具的参考,以及章节 练习的答案和所有参考资源和文献的清单。 Go 语言有一个被称之为 “没有废物” 的宗旨,就是将一切没有必要的东西都去掉,不能去掉的就无底线 地简化,同时追求最大程度的自动化。他完美地诠释了敏捷编程的 语言开发的奇妙世界! Go入门指南 - 3 - 本文档使用 看云 构建 第一部分:学习 Go 语言 第1章:Go 语言的起源,发展与普及 第2章:安装与运行环境 第3章:编辑器、集成开发环境与其它工具 第1章:Go 语言的起源,发展与普及 1.1 起源与发展 Go 语言起源 2007 年,并于 2009 年正式对外发布。它从 2009 年 9 月 21 日开始作为谷歌公司 20% 兼 职项目,即相关员工利用0 码力 | 380 页 | 2.97 MB | 1 年前3
共 53 条
- 1
- 2
- 3
- 4
- 5
- 6