
golang
文章平均质量分 85
月牙寂
这个作者很懒,什么都没留下…
展开
-
系统架构设计的一点思考
原文链接:https://mp.weixin.qq.com/s/2vATENTGyqtyWx1Xjqj-_g系统化思维在以前的文章中,有提到过很多。总结为三个方面。1、系统三要素:元素、元素之间的关系、元素功能。2、宏观与微观3、系统动力学以上三点是我在2020年之前,在对系统化思维的一个认识。以及将这三点运用到软件系统架构中的思考。简单过一遍:在软件系统架构的设计中。...原创 2020-05-06 19:12:45 · 1444 阅读 · 0 评论 -
Gorilla源码分析之gorilla/mux源码分析
Gorilla是一个go语言的web工具箱,包含了很多的模块。本文分析的模块gorilla/mux: is a powerful URL routerand dispatcher.原创 2018-03-22 10:09:10 · 1537 阅读 · 0 评论 -
Boltdb源码分析(一)-------page结构
本文公众号文章链接:https://mp.weixin.qq.com/s/YoRJw_vkAK0aBTN6-HK0qw本文csdn博客链接:https://blog.youkuaiyun.com/screscent/article/details/79807625 boltdb是一个纯粹的key Value数据库,其宗旨是提供一个简单,快速,可信的数据库。此数据库广泛应用于各大开源组件中。...原创 2018-04-03 18:56:07 · 3369 阅读 · 0 评论 -
Boltdb源码分析(二)----node结构
本文公众号文章链接:https://mp.weixin.qq.com/s/5_A_NqhOM--CILDdosKrSQ本文csdn博客文章链接:https://blog.youkuaiyun.com/screscent/article/details/79852643 boltdb是一个纯粹的key Value数据库,其宗旨是提供一个简单,快速,可信的数据库。此数据库广泛应用于各大开源组件中。...原创 2018-04-08 15:29:27 · 1390 阅读 · 0 评论 -
Boltdb源码分析(三)----meta结构
本文公众号文章链接:https://mp.weixin.qq.com/s/c_L0wF09o_hXnShxeoyG1Q本文csdn博客文章链接:https://blog.youkuaiyun.com/screscent/article/details/79877103 boltdb是一个纯粹的key Value数据库,其宗旨是提供一个简单,快速,可信的数据库。此数据库广泛应用于各大开源组件中。...原创 2018-04-10 10:26:38 · 1575 阅读 · 0 评论 -
Go标准库plugin源码分析----动态库使用
本文公众号文章链接:https://mp.weixin.qq.com/s/2MKjUUJ6QxJieW4BGvhbxg Go通常都是编译打包成一个可执行文件,好处是不需要考虑依赖库,一个可执行文件,拷贝就可以直接执行。但还有些场景,如需要以插件形式加载,方便动态更新,热重启等情况。这些场景的需求,就带来了plugin库,动态库加载。 那么先看看plguin这个库的文...原创 2018-04-16 14:21:41 · 2524 阅读 · 0 评论 -
beego/cache源码分析---典型的工厂模式
本文公众号文章链接:https://mp.weixin.qq.com/s/clal1S34zHGYIFLfY4xN_Q本文csdn博客文章链接:https://blog.youkuaiyun.com/screscent/article/details/79792138 beego是一个开源的web框架。cache是其中的一个独立模块。这个模块的设计方式在go语言设计中是非常典型的工厂模式。...原创 2018-04-02 17:20:48 · 2253 阅读 · 0 评论 -
leaf源码分析(一)----chanrpc
本文公众号链接为:https://mp.weixin.qq.com/s/bzh3jZJkz96WxbPX4zF75A Leaf 是一个由 Go 语言(golang)编写的开发效率和执行效率并重的开源游戏服务器框架。Leaf 适用于各类游戏服务器的开发,包括 H5(HTML5)游戏服务器。 阅读中文文档,其中介绍的是 leaf/chanrpc 提供了一套基于 ch...原创 2018-04-17 16:53:56 · 3024 阅读 · 2 评论 -
go-metrics源码分析
本文公众号文章链接:https://mp.weixin.qq.com/s/d-HTKCldEn4CSdQU0uqd6w本文csdn博客文章链接:https://blog.youkuaiyun.com/screscent/article/details/79759481 go-metrics是一个go语言的metrics库。其README中说的为:This library provides a...原创 2018-03-30 16:24:12 · 2236 阅读 · 0 评论 -
【原创】swarm源码分析(4)---Scheduler和Api
本文原文QQ空间链接:http://user.qzone.qq.com/29185807/blog/1463015882本文原文csdn博文链接:http://blog.youkuaiyun.com/screscent/article/details/51381242前面分析了discovery,cluster,node。那这一篇就分析scheduler和api。 1、Scheduler...原创 2016-05-12 09:30:14 · 1638 阅读 · 0 评论 -
【原创】swarm源码分析(3)---manage cluster
本文原文QQ空间链接:http://user.qzone.qq.com/29185807/blog/1462949671本文原文csdn博文链接:http://blog.youkuaiyun.com/screscent/article/details/513745241、构建流程我们先看看cluster的构建。代码在swarm\manage.go 初始化了一个cluster对...原创 2016-05-11 15:07:35 · 1056 阅读 · 0 评论 -
【原创】docker源码分析(2)---docker server
本文QQ空间链接:http://user.qzone.qq.com/29185807/blog/1461895517本文csdn博文链接:http://blog.youkuaiyun.com/screscent/article/details/51279632上一节,分析了Engine和job。那这一节就开始讲下docker server。1、docker server1.1 主体流程我们...原创 2016-04-29 10:20:35 · 8998 阅读 · 0 评论 -
【原创】docker源码分析(3)---镜像(1)
本文QQ空间链接:http://user.qzone.qq.com/29185807/blog/1462342295本文优快云博客链接:http://blog.youkuaiyun.com/screscent/article/details/51314497 1、简介 镜像无疑是docker中的一个重要角色。在分析源码之前,我们先要了解下image的一些概念。可以参考 http:/...原创 2016-05-04 14:29:01 · 6239 阅读 · 0 评论 -
【原创】docker源码分析(3)---镜像 (2)
本文QQ空间链接:http://user.qzone.qq.com/29185807/blog/1462342295 本文优快云博客链接:http://blog.youkuaiyun.com/screscent/article/details/51314697 5、TagStore 在代码docker\daemon\daemon.gofunc NewDaemonFro...原创 2016-05-04 14:45:40 · 4544 阅读 · 0 评论 -
【原创】docker源码分析(4)---execdriver
本文的QQ空间链接:http://user.qzone.qq.com/29185807/blog/1462433268本文的csdn博文的链接:http://blog.youkuaiyun.com/screscent/article/details/51323358execdriver通过lxc或者libcontainer来实现资源隔离。本文就来简单分析下execdriver。 1、上层初始化...原创 2016-05-05 15:37:14 · 4144 阅读 · 0 评论 -
【原创】docker源码分析(5)---daemon
本文QQ空间链接为:http://user.qzone.qq.com/29185807/blog/1462498607本文csdn博客链接为:http://blog.youkuaiyun.com/screscent/article/details/51328946daemon是docker中最主要的部分,其中封装了所有的东西。下面我们直接看代码吧 1、初始化流程main函数dock...原创 2016-05-06 09:53:20 · 1807 阅读 · 0 评论 -
【原创】docker源码分析(6)---dockerclient
本文QQ空间链接:http://user.qzone.qq.com/29185807/blog/1462527343本文csdn博客链接:http://blog.youkuaiyun.com/screscent/article/details/51333371前面5篇简单的分析了下docker Daemon工作流程。 那么现在进入docker client模式 1、初始流程 代...原创 2016-05-06 17:42:56 · 2559 阅读 · 0 评论 -
【原创】swarm源码分析(1)---command流程
本文原文QQ空间链接:http://user.qzone.qq.com/29185807/blog/1462761975本文原文csdn博文链接:http://blog.youkuaiyun.com/screscent/article/details/51351381swarm是docker公司开发的一个管理docker集群的工具。swarm使用标准docker api来作为入口。功能简单,关键是复用...原创 2016-05-09 10:58:28 · 2558 阅读 · 0 评论 -
【原创】swarm源码分析(2)---manage流程与store
本文原文QQ空间链接:http://user.qzone.qq.com/29185807/blog/1462853926本文原文csdn博文链接: http://blog.youkuaiyun.com/screscent/article/details/51362116上一篇文章中,分析create和join,是创建和加入swarm集群。那么swarm集群是如何工作和管理的。 ...原创 2016-05-10 12:27:18 · 3415 阅读 · 0 评论 -
Fasthttp源码分析之http server源码分析
groupcache是go语言开发的缓存库。用于替换memcache的。原创 2018-03-26 14:57:18 · 2941 阅读 · 0 评论 -
Gorilla源码分析之gorilla/rpc源码分析
Gorilla是一个go语言的web工具箱,包含了很多的模块。本文分析的模块gorilla/rpc:implements RPC over HTTP with codec for JSON-RPC.原创 2018-03-23 10:23:08 · 770 阅读 · 0 评论 -
本人公众号技术文章目录-持续更新
个人技术分享公众号分享内容不限于:golang源码分析,个人编程思想,投资领悟,道家思想,复杂系统,中医等原创 2019-06-19 15:44:39 · 1059 阅读 · 0 评论 -
开源代码memberlist源码分析
memberlist是go语言开发的,基于Gossip协议来传播消息,用来管理分布式集群内节点发现、 节点失效探测、节点列表的软件包。原创 2019-06-14 16:44:44 · 3540 阅读 · 1 评论 -
开源代码TarsGo-v1.0.0源码分析之transport
Tars是腾讯开源的一款微服务框架。在去年9月,腾讯宣布正式开源 Tars 的 Golang 版本TarsGo。当TarGo开源的时候,就想对此开源代码进行学习。近期刚好有空,就看了看。说实话,本人并未使用Tars框架,本文只是对TarsGo源码进行分析。...原创 2019-06-03 00:59:34 · 997 阅读 · 0 评论 -
开源代码protoactor-go源码分析-async schedule
本文微信公众号文章:https://mp.weixin.qq.com/s/aHJScjcrrJyYlIDcA00P0gactor是一种异步并发处理模型。最具代表性的是erlang语言。在golang中,最具代表性的并发模式为csp,多协程并发。这两者的区别更多类似于网络并发。网络程序设计中的并发复杂性这篇文章中有介绍,关于事件驱动和多线程并发。其两者都有着各自的优缺点。pr...原创 2019-05-21 10:41:17 · 1187 阅读 · 0 评论 -
开源代码protoactor-go[e866f39]源码分析
本文微信公众号链接:https://mp.weixin.qq.com/s/_p6bnUegQmHb8NbAccPQywactor是一种异步并发处理模型。最具代表性的是erlang语言。在golang中,最具代表性的并发模式为csp,多协程并发。这两者的区别更多类似于网络并发。网络程序设计中的并发复杂性这篇文章中有介绍,关于事件驱动和多线程并发。其两者都有着各自的优缺点。...原创 2019-05-21 10:30:17 · 623 阅读 · 0 评论 -
开源代码学习-nsq(v0.1.1版本)源码分析
本文微信公众号文章链接:https://mp.weixin.qq.com/s/QCXkJS7OEQ67xwWPoiW8wgNSQ 是实时的分布式消息处理平台,其设计的目的是用来大规模地处理每天数以十亿计级别的消息。NSQ 具有分布式和去中心化拓扑结构,该结构具有无单点故障、故障容错、高可用性以及能够保证消息的可靠传递的特征,是一个成熟的、已在大规模生成环境下应用的产品。...原创 2019-05-07 18:46:25 · 575 阅读 · 0 评论 -
开源代码学习-nsq(v0.1.5版本)源码分析
本文公众号链接为:https://mp.weixin.qq.com/s/GdajDASVCHUUcESptJ9bwgNSQ 是实时的分布式消息处理平台,其设计的目的是用来大规模地处理每天数以十亿计级别的消息。NSQ 具有分布式和去中心化拓扑结构,该结构具有无单点故障、故障容错、高可用性以及能够保证消息的可靠传递的特征,是一个成熟的、已在大规模生成环境下应用的产品。源码地址:https...原创 2019-05-09 17:15:36 · 907 阅读 · 0 评论 -
开源代码学习技巧-Nats源码原理分析
本文微信公众号文章链接:https://mp.weixin.qq.com/s/LsGEr_RJYfAbGBBlRxJH-QNATS是由CloudFoundry的架构师Derek开发的一个开源的、轻量级、高性能的,支持发布、订阅机制的分布式消息队列系统。NATS的性能非常好,下面是官网的性能对比图:从图中可以看出Nats的性能远超其他。对于一个出名的开源组...原创 2019-04-09 11:34:26 · 1847 阅读 · 0 评论 -
以太坊源码分析---go-ethereum之event
本文微信公众号 月牙寂道长 文章链接为:https://mp.weixin.qq.com/s/gdVIXq75MW3SrH6Of-wT2A本文图片可能不太清晰,看清晰版本的,可以看原文链接微信公众号链接。 以太坊go-ethereum源码的模块划分非常清晰,所以其各个模块,几乎是相互独立的。 有一个以太坊的架构图:图片来自:https://blog.youkuaiyun.com/s...原创 2018-09-04 16:23:17 · 1877 阅读 · 0 评论 -
以太坊源码分析---go-ethereum之MPT(Merkle-Patricia Trie)
本文微信公众号 月牙寂道长 文章链接为:https://mp.weixin.qq.com/s/vljKF9lI6l_fKu0_Nn0U7g本文图片可能不太清晰,看清晰版本的,可以看原文链接微信公众号链接。 MPT(Merkle-Patricia Trie)其实就是一个数据结构,在以太坊中用于存储用户账户的状态及其变更、交易信息、交易的收据信息。 要讲MPT,就要讲讲MPT是如何...原创 2018-08-31 15:18:47 · 1522 阅读 · 0 评论 -
leaf源码分析(三)----gate和network
本文公众号链接为:https://mp.weixin.qq.com/s/ClTgY-S7hLfirWo_-SvEIA Leaf 是一个由 Go 语言(golang)编写的开发效率和执行效率并重的开源游戏服务器框架。Leaf 适用于各类游戏服务器的开发,包括 H5(HTML5)游戏服务器。 Gate 模块为Leaf提供接入功能。这个模块的功能很重要,是服务器的入口。它能同...原创 2018-04-19 15:28:49 · 1997 阅读 · 0 评论 -
leaf源码分析(四)----console和module
本文公众号链接:https://mp.weixin.qq.com/s/1rPZbn703uWgv1a4iEdXmQ Leaf 是一个由 Go 语言(golang)编写的开发效率和执行效率并重的开源游戏服务器框架。Leaf 适用于各类游戏服务器的开发,包括 H5(HTML5)游戏服务器。已经分析过的文章有leaf源码分析(一)----chanrpcleaf源码分析(...原创 2018-04-23 16:11:52 · 1404 阅读 · 0 评论 -
groupcache源码分析
本文公众号文章链接:https://mp.weixin.qq.com/s/nL6iD6oDcFyuZM-eGSllXg本文csdn博客文章链接:https://blog.youkuaiyun.com/screscent/article/details/79723155 groupcache是go语言开发的缓存库。用于替换memcache的。 代码目录: 主要的代码框架如下...原创 2018-03-28 10:24:32 · 2109 阅读 · 0 评论 -
leaf源码分析(二)----skeleton
本文公众号文章链接为:https://mp.weixin.qq.com/s/UXxJx9bhE6DJQk12ozFF9Q Leaf 是一个由 Go 语言(golang)编写的开发效率和执行效率并重的开源游戏服务器框架。Leaf 适用于各类游戏服务器的开发,包括 H5(HTML5)游戏服务器。 skeleton是其中最重要的骨架。其封装了异步操作。包括chanrpc,ti...原创 2018-04-18 14:23:19 · 1532 阅读 · 0 评论 -
Boltdb源码分析(四)----bucket结构
本文公众号文章链接:https://mp.weixin.qq.com/s/Cet4TTTTc6_OWWvmNgjOKA本文csdn博客文章链接:https://blog.youkuaiyun.com/screscent/article/details/79912742 boltdb是一个纯粹的key Value数据库,其宗旨是提供一个简单,快速,可信的数据库。此数据库广泛应用于各大开源...原创 2018-04-12 14:01:33 · 2083 阅读 · 0 评论 -
Gorilla源码分析之gorilla/context源码分析
Gorilla是一个go语言的web工具箱,包含了很多的模块。本文分析的模块gorilla/context: stores global request variables.原创 2018-03-21 10:57:27 · 470 阅读 · 0 评论 -
【原创】k8s源码分析-----kubectl(3)主要框架
本文QQ空间的链接:http://user.qzone.qq.com/29185807/blog/1461123088本文csdn博文的链接:http://blog.youkuaiyun.com/screscent/article/details/51199351 源码为k8s v1.1.1 1、整体流程我们先整体的流程走一遍,不用太过于关心看不看的懂,先有个整体的流程概念,后续再一步...原创 2016-04-20 12:11:26 · 9497 阅读 · 0 评论 -
【原创】k8s源码分析-----kubectl(2)Factory
本文QQ空间的链接:http://user.qzone.qq.com/29185807/blog/1461036130本文csdn博文的链接:http://blog.youkuaiyun.com/screscent/article/details/51188790 源码为k8s v1.1.1 1、原因首先讲讲为啥,我们要讲解Factory代码在k8s.io\kubernetes\c...原创 2016-04-19 11:35:26 · 7883 阅读 · 0 评论 -
【原创】k8s源码分析-----kubectl(1)api.RESTMapper
本文QQ空间链接:http://user.qzone.qq.com/29185807/blog/1460961715本文csdn博文链接:http://blog.youkuaiyun.com/screscent/article/details/51179485源码为k8s v1.1.1稳定版本 api. RESTMapper是kube-apiserver和kubectl的基础,在讲解ku...原创 2016-04-18 14:56:02 · 10152 阅读 · 0 评论