
分布式
文章平均质量分 79
luslin1711
这个作者很懒,什么都没留下…
展开
-
golang微服务框架go-micro使用 (六) Config And Errors
Config特征1 动态加载:根据需要动态加载多个资源文件。 go config 在后台管理并监控配置文件,并自动更新到内存中2 资源可插拔: 从任意数量的源中进行选择以加载和合并配置。后台资源源被抽象为内部使用的标准格式,并通过编码器进行解码。源可以是环境变量,标志,文件,etcd,k8s configmap等3 可合并的配置:如果指定了多种配置,它们会合并到一个视图中。4 监控变化:可以选择是否监控配置的指定值,热重启5 安全恢复: 万一配置加载错误或者由于未知原因而清除,可以指定回退值进原创 2020-05-25 15:53:04 · 921 阅读 · 0 评论 -
golang微服务框架go-micro使用 (五) Message Broker
前一篇文章,我们讨论了在micro中如何发布/订阅消息。它的优点是简单,缺点是缺乏灵活性。如果你想使用底层去发送与接收消息,需要使用接口:github.com/micro/go-micro/v2/broker.Broker这个接口是micro异步消息处理的核心,事实上,发布/订阅也依赖它下面,使用一个例子来使用Brokerpackage mainimport ( "fmt" "github.com/micro/go-micro/v2" "github.com/micro/go-micro/v原创 2020-05-25 11:17:05 · 958 阅读 · 1 评论 -
golang微服务框架go-micro使用 (四) Pub/Sub
订阅消息首先,我们定义消息处理程序,./subscriber/micro.go:package subscriberimport ( "context" log "github.com/micro/go-micro/v2/logger" "micro-hello/proto/hello")type Micro struct{}func (e *Micro) Handle(ctx context.Context, msg *hello.Message) error { log.Inf原创 2020-05-25 09:50:04 · 1058 阅读 · 0 评论 -
golang微服务框架go-micro使用 (三) Call a service
通过命令行工具调用服务luslin@local:~/software/zipkin$ MICRO_REGISTRY=etcd micro list servicescom.foo.service.microgo.micro.webmicro.http.brokercom.foo.service.micro 是我们的目标服务,micro.http.broker 是默认的中间件服务。在调用前,使用get命令查看服务的详情,端点定义,元数据和节点信息等luslin@local:~/software原创 2020-05-24 14:27:49 · 1435 阅读 · 1 评论 -
golang微服务框架go-micro使用 (二) Ultimate Guide For Bootstrap
main.go 说明package mainimport ( "github.com/micro/go-micro/v2" log "github.com/micro/go-micro/v2/logger" "micro-hello/handler" hello "micro-hello/proto/hello" "micro-hello/subscriber")func main() { // New Service service := micro.NewService(原创 2020-05-23 14:43:33 · 1063 阅读 · 0 评论 -
golang微服务框架go-micro使用 (一) Getting Started
文档不断更新的文档,需要翻墙官方文档服务发现服务发现是每个分布式系统都需要解决的问题,go-micro将这个任务抽象到一个接口中,原创 2020-05-22 10:56:50 · 974 阅读 · 0 评论 -
golang微服务框架Kratos使用
简介项目地址:https://github.com/go-kratos/kratos项目致力于提供完整的微服务研发体验,整合相关框架及工具后,微服务治理相关部分可对整体业务开发周期无感,从而更加聚焦于业务交付。对每位开发者而言,整套Kratos框架也是不错的学习仓库,可以了解和参考到bilibili在微服务方面的技术积累和经验。Quick startRequirmentsGo version>=1.13InstallationGO111MODULE=on && go g原创 2020-05-21 16:32:35 · 6456 阅读 · 0 评论 -
go-kratos 微服务框架 warden模块使用
pb文件创建项目成功后,进入api目录下可以看到api.proto文件:option go_package = "api";option (gogoproto.goproto_getters_all) = false;service RPCDemo { rpc Ping(.google.protobuf.Empty) returns (.google.protobuf.Empty); rpc SayHello(HelloReq) returns (.google.protobuf.Empt原创 2020-05-20 16:31:27 · 2585 阅读 · 0 评论 -
使用单例模式封装go-kafka链接(github.com/Shopify/sarama)
package kafkaimport (“errors”“github.com/Shopify/sarama”“github.com/luslin/webs/src/server1/conf”“github.com/luslin/webs/src/server1/dbsource/redis”“github.com/prometheus/common/log”“sync”)va...原创 2020-05-04 09:41:21 · 3105 阅读 · 0 评论 -
go 操作kafka包 sarama 使用(示例)
go 操作kafka包 sarama 使用(一)截止当前时间,github上golang操作kafka的包主要有两个:Shopify/sarama starts 5.7kconfluentinc/confluent-kafka-go starts 2ksaram 使用纯go语言编写, confluent-kafka-go 这是包装了c的api...原创 2020-04-27 20:14:58 · 69982 阅读 · 0 评论 -
ZooKeeper基础
ZooKeeper (一)索引:ZooKeeper基础安装zkCli使用ZooKeeper架构一 、ZooKeeper基础a. 典型应用场景:配置管理(configuration management)DNS 服务组成员管理(group membership)各种分布式锁ZooKeeper 适用于存储和协同相关的关键数据,不适合用于大数据量存储。b. ZooKee...原创 2020-04-23 10:45:40 · 5252 阅读 · 0 评论