go micro metrics 接入Prometheus、Grafana

2020-08-06
阅读 5 分钟
6k
代码很简单,在micro.NewService中传入micro.WrapHandler(prometheus.NewHandlerWrapper()),

go micro wrapper 中间件

2020-08-06
阅读 6 分钟
5.4k
go micro wrapper 中间件本篇不涉及中间件底层是如何运作的,如有兴趣请见[micro server]篇在options.go中有如下定义 {代码...} 这些参数设置用于micro.NewService()参数有以下几种类型WrapClient() 用于用一些中间件组件包装Client,包装器以相反的顺序应用,因此最后一个先执行。WrapCall() 用于方便包装Client CallFun...

go micro 熔断与限流

2020-08-06
阅读 3 分钟
5.4k
本篇文章参考【Micro In Action(七):熔断与限流】[链接]@dche423写的太好了,这里仅做部分摘录介绍熔断go micro 封装了hystrix-go,gobreaker,都在plugins下下面是hystrix的例子 {代码...} 他的默认值超时时间是1000毫秒,最大并发数是10 {代码...} 其他参数请见官网,[链接]如果需要修改其他参数,可以在服务service....

go micro 链路追踪

2020-08-06
阅读 5 分钟
5.2k
docker run -d -p 6831:6831/udp -p 16686:16686 jaegertracing/all-in-one:latest

go micro jwt 网关鉴权

2020-08-06
阅读 5 分钟
4.3k
本文介绍go micro中的api访问权限控制,这里仅仅介绍内部服务间的互相调用鉴权(jwt),不是针对用户系统的细致rbac模式。目标:内部服务间调用应在header上带上jwt token,否则返回错误提示信息有2种方式在每个服务上各自鉴权在网关上鉴权,各服务只需注册一个wrapper检查header中jwt信息鉴权。这样做有个前提,所有服务...

go micro plugin

2020-08-06
阅读 5 分钟
3.7k
这篇文章中的 plugin 主要讲[链接] 中的插件,主要用于自定义网关中如何加载插件。(如文章[micro auth jwt])go-micro中的插件请见[链接]官方README中有一些介绍[链接]官方示例:在项目目录创建plugin.go {代码...} 最后编译`go build -o micro ./main.go ./plugin.go`一步步看看是怎样注册的,在micro/plugin/manager....

go micro registry 插件consul

2020-08-06
阅读 4 分钟
6.2k
go micro v2版本中,consul不在默认支持,官方推荐使用etcd,具体原因官方blog有讲[链接]consul被放到go-plugins, 由社区维护github.com/micro/go-plugins/registry/consul要使用consul,需要从go-plugins引入 {代码...} 两种方式使用插件,具体见[go-plugins使用说明]([链接]第一种写到plugins.go中,编译的时候带上plu...

go micro web

2020-08-06
阅读 7 分钟
3.6k
examples/web 有一个web的例子,这里比较简单service.HandleFunc("/", helloWorldHandler)这一行指定处理程序比较简单,第2个参数定义了一个函数,只要满足条件就行handler func(http.ResponseWriter, *http.Request)实际项目中不太可能只用go micro, 从0开始手撸所有其他轮子,那么可不可以在go micro中引入常用的框架...

go micro transport

2020-08-06
阅读 2 分钟
2.9k
初始化了一堆基础设置,来看看Transporttransport.DefaultTransport,在transport/transport.go中的DefaultTransport Transport = newHTTPTransport()

go micro runtime

2020-08-06
阅读 2 分钟
2k
初始化了一堆基础设置,来看看Runtimeruntime.DefaultRuntime,在runtime/runtime.go中的DefaultRuntime Runtime = NewRuntime()

go micro router

2020-08-06
阅读 2 分钟
2.5k
初始化了一堆基础设置,来看看Routerrouter.DefaultRouter,在router/router.go中的DefaultRouter = NewRouter()

go micro registry

2020-08-06
阅读 13 分钟
2.7k
初始化了一堆基础设置,来看看Registryregistry.DefaultRegistry,在registry/registry.go中的DefaultRegistry = NewRegistry()

go micro store

2020-08-06
阅读 2 分钟
2.1k
初始化了一堆基础设置,来看看Storestore.DefaultStore,这里不要直接去看store/store.go中的DefaultStore Store = new(noopStore),因为在micro/defaults.go中已经初始化了,默认使用的是store.DefaultStore = memoryStore.NewStore()

go micro config

2020-08-06
阅读 4 分钟
2.9k
micro.newService()中newOptions {代码...} 初始化了一堆基础设置,来看看configconfig.DefaultConfig,在config/config.go中 {代码...} 看看Init()左做了什么初始化并设置opts,创建exit用于监听退出信号,设置opts设置默认loader,c.opts.Loader默认是memory memory.NewLoader()[config/loader/memory/memory.go]初始化...

go micro cmd

2020-08-06
阅读 5 分钟
3.2k
初始化了一堆基础设置,先来看看cmd cmd.DefaultCmd,在config/cmd/cmd.go DefaultCmd = newCmd()

go micro broker

2020-08-06
阅读 13 分钟
2.6k
初始化了一堆基础设置,先来看看Broker broker.DefaultBroker,在broker/broker.go中 DefaultBroker Broker = NewBroker()

go micro client

2020-08-06
阅读 8 分钟
4.4k
初始化了一堆基础设置,来看看Client, client.DefaultClient,这里不要直接去看client/client.go中的newRpcClient(),因为在micro/defaults.go中已经初始化了client,默认是grpcclient.DefaultClient = gcli.NewClient()

go micro server 启动分析

2020-08-06
阅读 9 分钟
5k
样例代码example/greeter,git commit:3b3de68cded8879ca3dde5d81192f2881619aabd

golang在windows平台使用zmq

2014-07-31
阅读 1 分钟
9.8k
zmq官方推荐的golang库,guthub地址是[链接] 测试代码就不发了,上面的地址有具体示例, 前几天碰到的问题是在windows 7 64位系统环境下go get github.com\pebbe\zmq4的时候无法完成 最开始可能是提示SOCKET未定义, 查看这个包的代码可以发现这套库使用了cgo,这是需要gcc等一些环境支持了