摘要:
"剖析nsq消息队列 目录" "上两篇帖子主要说了一下nsq的拓扑结构,如何进行故障处理和横向扩展" ,保证了客户端和服务端的长连接,连接保持了,就要传输数据了, 如何保证消息被订阅者消费,如何保证消息不丢失,就是今天要阐述的内容。 topic、channel、和消费我客户端的结构如上图,一个 下有 阅读全文
摘要:
"剖析nsq消息队列 目录" 在上一篇帖子 " 剖析nsq消息队列(一) 简介及去中心化实现原理 " 中,我介绍了nsq的两种使用方式,一种是直接连接,还有一种是通过nslookup来实现去中心化的方式使用,并大概说了一下实现原理,没有什么难理解的东西,这篇帖子我把 实现去中心化的源码和其中的业物逻 阅读全文
摘要:
"剖析nsq消息队列 目录" 分布式消息队列 "nsq" ,简单易用,去中心化的设计使 更健壮, 充分利用了 语言的 和`channel nsq`的源码分析给大家看。 主要的分析路线如下 分析 的整体框架结构,分析如何做到的无中心化分布式拓扑结构,如何处理的单点故障。 分析 是如何保证消息的可靠性, 阅读全文
摘要:
`注:写帖子时go的版本是1.12.7` "Context的github地址" 语言中实现一个 不用像其他语言一样需要显示的声明实现接口。 语言只要实现了某 的方法就可以做类型转换。 语言没有继承的概念,只有 的概念。想深入学习这些用法,阅读源码是最好的方式. 的源码非常推荐阅读,从中可以领悟出 语 阅读全文
摘要:
阅读源码的过程,就像是在像武侠小说里阅读武功秘籍一样,分析高手的一招一式,提炼出精髓,来增强自己的内力。 之前的帖子说了一下 "微服务的雪崩效应和常见的解决方案" ,太水,没有上代码怎么叫解决方案。 上有很多开源的库来解决 ,比较出名的是 的开源库 "hystrix" 。集 、`熔断 容错 java 阅读全文
摘要:
微服务化产品线,每一个服务专心于自己的业务逻辑,并对外提供相应的接口,看上去似乎很明了,其实还有很多的东西需要考虑,比如:服务的自动扩充,熔断和限流等,随着业务的扩展,服务的数量也会随之增多,逻辑会更加复杂,一个服务的某个逻辑需要依赖多个其他服务才能完成。一但一个依赖不能提供服务很可能会产生 ,最后 阅读全文
摘要:
多读go的源码,可以加深对go语言的理解和认知,今天分享一下http相关的源码部分 在不使用第三方库的情况下,我们可以很容易的的用go实现一个http服务, 直接在浏览器里访问9100端口就可以返回 go已经把所有的细节封装好了,我们只需要自己去写Handler实现就够了。源码简单来说做了以下几件事 阅读全文
摘要:
"go微服务框架go micro深度学习(一) 整体架构介绍" "go微服务框架go micro深度学习(二) 入门例子" "go微服务框架go micro深度学习(三) Registry服务的注册和发现" "go微服务框架go micro深度学习(四) rpc方法调用过程详解" "go微服务框架g 阅读全文
摘要:
"github 例子地址" "上一篇写了一下rpc调用过程的实现方式" ,简单来说就是服务端把实现了接口的结构体对象进行反射,抽取方法,签名,保存,客户端调用的时候go micro封请求数据,服务端接收到请求时,找到需要调用调用的对象和对应的方法,利用反射进行调用,返回数据。 但是没有说stream 阅读全文
摘要:
上一篇帖子go微服务框架go-micro深度学习(三) Registry服务的注册和发现详细解释了go-micro是如何做服务注册和发现在,服务端注册server信息,client获取server的地址信息,就可以和服务建立连接,然后就可以进行通信了。这篇帖子详细说一下,go-micro的通信协议、 阅读全文