
Go
陌无崖
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
处理请求
将函数作为处理器对于简单的情况(比如上面的例子),定义个新的有 ServerHTTP 方法的自定义类型有些累赘。我们看一下另外一种方式,我们借助 http.HandlerFunc 类型来让一个常规函数满足作为一个 Handler 接口的条件。package mainimport ( "log" "net/http" "time")func timeHandler(w ht...原创 2019-03-31 21:30:30 · 395 阅读 · 0 评论 -
RabbitMQ系列笔记主题订阅模式
导语昨天的内容主要讲了RabbitMQ的发布订阅模式和路由模式,都很好的满足了我们的日志打印,但是如果说,我对日志的打印,希望可以过滤掉一些内容呢,比如说,在打印错误日志的时候,只打印login时的错误?这个时候,就需要我们使用主题订阅的模式,可以说,主题订阅模式可以完全代替路由模式,因为在主题订阅模式中,如果没有响应的关键词,便和路由模式完全一样。主题交换器介绍在使用主题交换器时需要注意以...原创 2019-08-12 09:30:58 · 567 阅读 · 0 评论 -
RabbitMQ系列笔记广播模式和路由模式
导语上一节介绍了简单的工作模式,即一个队列可以被多个消费者进行消费,只有一条消息被送到消费者,采用公平调度的方式,在以往的例子中似乎我们还没用到交换器进行发送消息,我们都知道,往队列里发送消息,是需要用交换器进行分发的消息的,为什么我们没有申请交换器仍然可以发送消息呢?因为在RabbitMQ服务器中,如果不申请交换器,服务器会使用默认的交换器,所以说,交换器在发送消息的时候必不可少,今天我们学习...原创 2019-08-12 09:30:18 · 1856 阅读 · 0 评论 -
RabbitMQ系列笔记work模式
导语在上一篇的博客RabbitMQ系列笔记入门篇我们其实用到了一种工作模式就是简单队列,一个生产者对应了一个消费者,今天主要给大家讲一下工作队列,一个生产者对应了多个消费者,但只有一个消费者会受到消息,并作出应答。Work模式生产者具体讲修改代码之前,我们先想象一个场景,在真正的程序中,我们的生产者可能会产生很多消息,并且每个消息的复杂度会不同,这将会导致我们的消费者在进行应答消息的时候,...原创 2019-08-12 09:29:38 · 397 阅读 · 0 评论 -
RabbitMQ系列笔记入门篇
导语在了解本篇文章之前,先复习以下知识点,如果你对RabbitMQ还不了解,请先查看RabbitMQ系列笔记介绍篇这篇文章。生产者:发送消息的程序队列:消息的中转站消费者:接收消息的程序在以上生产者同样也可以是消费者,消费者也可以是生产者,只需实现响应的发布订阅就行,本篇文章会从最简单的例子讲起。小试牛刀连接我们的RabbitMQ服务器在连接我们的服务器之前,首先需要启动一个R...原创 2019-08-12 09:28:48 · 312 阅读 · 0 评论 -
RabbitMQ系列笔记介绍篇
导语rabbitMQ是市面上应用很广的一种应用间传送数据的通信方式,是由erlang语言开发,主要特点就是异步通信,实现服务与服务之间的解耦。特点可靠性:提供了持久化、传输时确认、发布时确认、跟踪机制灵活的路由:有四种交换器负责分发路由集群:支持集群多种协议:支持STOMP、和MQTT协议多语言:支持大部分流行语言友好的界面:提供了直观的管理界面可扩展:提供了许多插件。应用...原创 2019-08-12 09:27:59 · 895 阅读 · 0 评论 -
微服务系列笔记之API事件订阅模式和元数据模式
导语今天继续总结关于micro api的其它用法。因为每个知识点基本类似,在这篇笔记中了event和meta做对比。本系列的笔记全部参考Go Micro官方源码及博客,比较多,有兴趣的可以去研究。Event模式服务端首先实现我们的方法,这里需要注意的是,由于我们这使用的是事件订阅方法,因此实现的所有的共有方法都会被访问依次,私有方法将不会被访问,在Go张默认函数名首字母小写为私有方法,所以...原创 2019-08-12 09:27:01 · 613 阅读 · 0 评论 -
微服务系列笔记之Mico Api详解
导语上一篇文章中有了入门案例,现在是不是有了很好的理解,不过有个前提是你需要了解grpc技术,简单的来说grpc是一个通信框架,micro是类似的一个通信框架,只不过这个框架应用于微服务中。因此如果你还未了解grpc技术,仍然建议你学习grpc基础,便于更好的理解本篇文章。准备工作## 安装go-microgo get github.com/micro/go-micro## 安装mic...原创 2019-08-12 09:26:21 · 733 阅读 · 0 评论 -
微服务系列笔记之Go-Micro入门案例
导语了解了Micro的基本框架之后,我们做一个简单的例子来实现客户端与服务端的通信,在了解本篇文章之前,需要你对rpc、grpc通信技术有所了解。准备工作## 安装go-microgo get github.com/micro/go-micro## 安装microgo get github.com/micro/micro## 安装grpcgo get -u google.golan...原创 2019-08-12 09:25:21 · 1049 阅读 · 0 评论 -
微服务系列笔记之Go-Micro
导语在上一篇博客中我们主要介绍了什么是微服务,读者可以用这篇文章进行简单的入门,当然仅仅阅读这一篇仍然是不够的,还需要广泛浏览相关概念,逐渐加深印象,可以更好的理解,在本篇文章中,主要分享了微服务框架的选型即Go-Mico,了解Go-Mico与微服务的关系。Go-Mico是什么这里采用官方解释,Go Micro是一个插件式的RPC框架。它用于分布式系统开发。这个插件抽象出了分布式系统的细节,...原创 2019-08-12 09:24:26 · 416 阅读 · 0 评论 -
微服务系列笔记之什么是微服务
导语微服务(Microservice Architecture)是近几年流行的一种架构思想,它的概念没有很明确的指出。ThoughtWorks 公司的首席科学家 Martin Fowler曾经解释过这个概念:微服务架构风格是一种将单个应用程序作为一套小型服务开发的方法,每种应用程序都在自己的进程中运行,并与轻量级机制(通常是HTTP资源API)进行通信。 这些服务是围绕业务功能构建的,可以通过全...原创 2019-08-12 09:23:42 · 181 阅读 · 0 评论 -
关于进程线程和Go协程总结
导语我们都知道Golang的最大特性就是Goroutine(协程)的设计,那究竟什么是协程呢?它和计算机中的进程和线程又有哪些区别呢?为什么协程可以同时并发,几乎不占内存,想必在你的心中有了类似这样很多的疑问,那么现在我们一起来看看这些是为什么吧。进程和线程的说明在了解协程之前,我们需要回顾一下计算机操作系统的知识进程就是程序在操作系统中的依次执行过程,是系统进行资源分配和调度的基本单位...原创 2019-08-12 09:20:43 · 744 阅读 · 0 评论 -
gorrilla Context包深入学习
导语做过web开发的同学肯定都知道,我们经常使用 r *http.Request 这个变量来获取我们希望获得的参数,但是我们经常遇到这样一个场景,我们需要为我们的r设置更多的key-value形式的附加值,一般我们都会存储在一个Map对象中,用的时候再从里面取出,Golang考虑到这样一个场景,为我们提供了一个context,这里的context并不是上下文的意思,属于另外一个这个包github...原创 2019-08-02 12:04:12 · 412 阅读 · 0 评论 -
RabbitMQ系列笔记封装篇
导语在阅读本篇笔记时,如果你还不熟悉RabbitMQ,请查看公众号中关于RabbitMQ系列笔记相关文章,如果你已经熟悉了,还请在本篇文章多多指教。本文使用go mod进行获取相关包,使用Go1.12.6版本进行编写,编译器工具使用Vscode。封装思路首先为我们的RabbitMQ的工作模式用变量进行区别,分别代表工作模式、广播模式、路由模式、主题模式。const ( SimpleQue...原创 2019-08-12 09:31:49 · 2623 阅读 · 0 评论