摘要:"go微服务框架go micro深度学习(一) 整体架构介绍" "go微服务框架go micro深度学习(二) 入门例子" "go微服务框架go micro深度学习(三) Registry服务的注册和发现" "go微服务框架go micro深度学习(四) rpc方法调用过程详解" "go微服务框架g 阅读全文
posted @ 2019-03-13 11:44 li-peng 阅读 (1675) 评论 (0) 编辑
摘要:在上一篇帖子 " 剖析nsq消息队列(一) 简介及去中心化实现原理 " 中,我介绍了nsq的两种使用方式,一种是直接连接,还有一种是通过nslookup来实现去中心化的方式使用,并大概说了一下实现原理,没有什么难理解的东西,这篇帖子我把 实现去中心化的源码和其中的业物逻辑展示给大家看一下。 nsqd 阅读全文
posted @ 2019-09-18 11:49 li-peng 阅读 (206) 评论 (0) 编辑
摘要:分布式消息队列 "nsq" ,简单易用,去中心化的设计使 更健壮, 充分利用了 语言的 和`channel nsq`的源码分析给大家看。 主要的分析路线如下 分析 的整体框架结构,分析如何做到的无中心化分布式拓扑结构,如何处理的单点故障。 分析 是如何保证消息的可靠性,如何保证消息的处理,对于消息的 阅读全文
posted @ 2019-08-30 15:14 li-peng 阅读 (360) 评论 (0) 编辑
摘要:`注:写帖子时go的版本是1.12.7` "Context的github地址" 语言中实现一个 不用像其他语言一样需要显示的声明实现接口。 语言只要实现了某 的方法就可以做类型转换。 语言没有继承的概念,只有 的概念。想深入学习这些用法,阅读源码是最好的方式. 的源码非常推荐阅读,从中可以领悟出 语 阅读全文
posted @ 2019-07-26 12:11 li-peng 阅读 (342) 评论 (0) 编辑
摘要:阅读源码的过程,就像是在像武侠小说里阅读武功秘籍一样,分析高手的一招一式,提炼出精髓,来增强自己的内力。 之前的帖子说了一下 "微服务的雪崩效应和常见的解决方案" ,太水,没有上代码怎么叫解决方案。 上有很多开源的库来解决 ,比较出名的是 的开源库 "hystrix" 。集 、`熔断 容错 java 阅读全文
posted @ 2019-06-19 12:28 li-peng 阅读 (598) 评论 (2) 编辑
摘要:微服务化产品线,每一个服务专心于自己的业务逻辑,并对外提供相应的接口,看上去似乎很明了,其实还有很多的东西需要考虑,比如:服务的自动扩充,熔断和限流等,随着业务的扩展,服务的数量也会随之增多,逻辑会更加复杂,一个服务的某个逻辑需要依赖多个其他服务才能完成。一但一个依赖不能提供服务很可能会产生 ,最后 阅读全文
posted @ 2019-06-10 13:21 li-peng 阅读 (2177) 评论 (3) 编辑
摘要:多读go的源码,可以加深对go语言的理解和认知,今天分享一下http相关的源码部分 在不使用第三方库的情况下,我们可以很容易的的用go实现一个http服务, 直接在浏览器里访问9100端口就可以返回 go已经把所有的细节封装好了,我们只需要自己去写Handler实现就够了。源码简单来说做了以下几件事 阅读全文
posted @ 2019-05-13 11:56 li-peng 阅读 (514) 评论 (0) 编辑
摘要:"go微服务框架go micro深度学习(一) 整体架构介绍" "go微服务框架go micro深度学习(二) 入门例子" "go微服务框架go micro深度学习(三) Registry服务的注册和发现" "go微服务框架go micro深度学习(四) rpc方法调用过程详解" "go微服务框架g 阅读全文
posted @ 2019-03-13 11:44 li-peng 阅读 (1675) 评论 (0) 编辑
摘要:     "上一篇写了一下rpc调用过程的实现方式" ,简单来说就是服务端把实现了接口的结构体对象进行反射,抽取方法,签名,保存,客户端调用的时候go micro封请求数据,服务端接收到请求时,找到需要调用调用的对象和对应的方法,利用反射进行调用,返回数据。 阅读全文
posted @ 2019-03-11 14:02 li-peng 阅读 (1174) 评论 (1) 编辑
摘要:上一篇帖子go微服务框架go-micro深度学习(三) Registry服务的注册和发现详细解释了go-micro是如何做服务注册和发现在,服务端注册server信息,client获取server的地址信息,就可以和服务建立连接,然后就可以进行通信了。这篇帖子详细说一下,go-micro的通信协议、 阅读全文
posted @ 2019-02-18 10:57 li-peng 阅读 (2482) 评论 (2) 编辑
摘要:go test命令,相信大家都不陌生,常见的情况会使用这个命令做单测试、基准测试和http测试。go test还是有很多flag 可以帮助我们做更多的分析,比如测试覆盖率,cpu分析,内存分析,也有很多第三方的库支持test,cpu和内存分析输出结果要配合pprof和go-torch来进行可视化显示 阅读全文
posted @ 2018-12-06 16:29 li-peng 阅读 (3353) 评论 (2) 编辑