草庐IT

BearPi-HM_Micro_small

全部标签

go-micro开发RPC服务的方法及其运行原理

go-micro是一个知名的golang微服务框架,最新版本是v4,这篇文章将介绍go-microv4开发RPC服务的方法及其运作原理。基本概念go-micro有几个重要的概念,后边开发RPC服务和介绍其运行原理的时候会用到,这里先熟悉下:Service:代表一个go-micro应用程序,Service中包括:Server、Client、Broker、Transport、Registry、Config、Store、Cache等程序运行所需的各个模块。Server:代表一个go-micro服务器,主要函数包括:Start、Stop、Handle、Subscribe。默认创建的Server是rpc

go-micro开发RPC服务的方法及其运行原理

go-micro是一个知名的golang微服务框架,最新版本是v4,这篇文章将介绍go-microv4开发RPC服务的方法及其运作原理。基本概念go-micro有几个重要的概念,后边开发RPC服务和介绍其运行原理的时候会用到,这里先熟悉下:Service:代表一个go-micro应用程序,Service中包括:Server、Client、Broker、Transport、Registry、Config、Store、Cache等程序运行所需的各个模块。Server:代表一个go-micro服务器,主要函数包括:Start、Stop、Handle、Subscribe。默认创建的Server是rpc

go-micro使用Consul做服务发现的方法和原理

go-microv4默认使用mdns做服务发现。不过也支持采用其它的服务发现中间件,因为多年来一直使用Consul做服务发现,为了方便和其它服务集成,所以还是选择了Consul。这篇文章将介绍go-micro使用Consul做服务发现的方法。关于Consul的使用方式请参考我的另一篇文章:使用Consul做服务发现的若干姿势。安装Consul如果你已经安装Consul,或者对Consul很熟悉了,按照自己的方式处理Consul就行了。这里提供一个通过docker快速安装Consul的方式,当然前提是你得安装了docker。执行命令:dockerrun--nameconsul1-p8500:85

go-micro使用Consul做服务发现的方法和原理

go-microv4默认使用mdns做服务发现。不过也支持采用其它的服务发现中间件,因为多年来一直使用Consul做服务发现,为了方便和其它服务集成,所以还是选择了Consul。这篇文章将介绍go-micro使用Consul做服务发现的方法。关于Consul的使用方式请参考我的另一篇文章:使用Consul做服务发现的若干姿势。安装Consul如果你已经安装Consul,或者对Consul很熟悉了,按照自己的方式处理Consul就行了。这里提供一个通过docker快速安装Consul的方式,当然前提是你得安装了docker。执行命令:dockerrun--nameconsul1-p8500:85

go-micro集成RabbitMQ实战和原理

在go-micro中异步消息的收发是通过Broker这个组件来完成的,底层实现有RabbitMQ、Kafka、Redis等等很多种方式,这篇文章主要介绍go-micro使用RabbitMQ收发数据的方法和原理。Broker的核心功能Broker的核心功能是Publish和Subscribe,也就是发布和订阅。它们的定义是:Publish(topicstring,m*Message,opts...PublishOption)errorSubscribe(topicstring,hHandler,opts...SubscribeOption)(Subscriber,error)发布发布第一个参数是

go-micro集成RabbitMQ实战和原理

在go-micro中异步消息的收发是通过Broker这个组件来完成的,底层实现有RabbitMQ、Kafka、Redis等等很多种方式,这篇文章主要介绍go-micro使用RabbitMQ收发数据的方法和原理。Broker的核心功能Broker的核心功能是Publish和Subscribe,也就是发布和订阅。它们的定义是:Publish(topicstring,m*Message,opts...PublishOption)errorSubscribe(topicstring,hHandler,opts...SubscribeOption)(Subscriber,error)发布发布第一个参数是

go-micro集成链路跟踪的方法和中间件原理

前几天有个同学想了解下如何在go-micro中做链路跟踪,这几天正好看到wrapper这块,wrapper这个东西在某些框架中也称为中间件,里边有个opentracing的插件,正好用来做链路追踪。opentracing是个规范,还需要搭配一个具体的实现,比如zipkin、jeager等,这里选择zipkin。链路跟踪实战安装zipkin通过docker快速启动一个zipkin服务端:dockerrun-d-p9411:9411openzipkin/zipkin程序结构为了方便演示,这里把客户端和服务端放到了一个项目中,程序的目录结构是这样的:main.go服务端程序。client/main.

go-micro集成链路跟踪的方法和中间件原理

前几天有个同学想了解下如何在go-micro中做链路跟踪,这几天正好看到wrapper这块,wrapper这个东西在某些框架中也称为中间件,里边有个opentracing的插件,正好用来做链路追踪。opentracing是个规范,还需要搭配一个具体的实现,比如zipkin、jeager等,这里选择zipkin。链路跟踪实战安装zipkin通过docker快速启动一个zipkin服务端:dockerrun-d-p9411:9411openzipkin/zipkin程序结构为了方便演示,这里把客户端和服务端放到了一个项目中,程序的目录结构是这样的:main.go服务端程序。client/main.

基于知名微服务框架go-micro开发gRPC应用程序

go-micro是golang的一个微服务框架。go-micro各个版本之间的兼容性问题一直被诟病,前几年go-micro更是分化出了两个分支:一个延续了go-micro,只不过转到了其公司CEO的个人Github仓库中,访问地址:asim/go-micro:AGomicroservicesframework(github.com)一个转向了云原生方向,名字叫Micro,访问地址:micro/micro:APIfirstcloudplatform(github.com)不过都还是开源的,当前的许可证都是Apache2.0,不是某些人说的不能商用了,当然无法保证以后不会改许可证。回到正文,这篇文

基于知名微服务框架go-micro开发gRPC应用程序

go-micro是golang的一个微服务框架。go-micro各个版本之间的兼容性问题一直被诟病,前几年go-micro更是分化出了两个分支:一个延续了go-micro,只不过转到了其公司CEO的个人Github仓库中,访问地址:asim/go-micro:AGomicroservicesframework(github.com)一个转向了云原生方向,名字叫Micro,访问地址:micro/micro:APIfirstcloudplatform(github.com)不过都还是开源的,当前的许可证都是Apache2.0,不是某些人说的不能商用了,当然无法保证以后不会改许可证。回到正文,这篇文