- 博客(11)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 go-micro项目实战七 logging
logging我们之前分别讲了微服务架构下的tracing,metrics。这节我们来讲一下logging日志作为整个代码行为的记录,是程序执行逻辑和异常最直接的反馈。对于整个系统来说,日志是至关重要的组成部分。通过分析日志我们不仅可以发现系统的问题,同时日志中也蕴含了大量有价值可以被挖掘的信息,因此合理地记录日志是十分必要的。个人理解 tracing对于系统性能分析很重要。metrics...
2019-04-29 17:31:29 3391
原创 go-micro项目实战六 go-config
go-config你可能已经发现了,我们之前的项目里的所有数据库连接和一些其他需要配置的东西我们都硬编码在代码里了。这并不合理。因此我们这一节来引入go-config,来解决这个问题。go-config 官方文档说这是一个动态的可插拔的配置库。go-config的使用1.在项目根目录创建config.json文件{ "mysql" : { "host" : "192.168....
2019-04-28 14:32:07 4356
原创 go-micro项目实战五 服务监控
服务监控可能读者会问,链路追踪和服务监控不是一个东西么?以下知识普及来源于网上。我这里从网上找到一张图 很形象。Logging - 用于记录离散的事件。例如,应用程序的调试信息或错误信息。它是我们诊断问题的依据。Metrics - 用于记录可聚合的数据。例如,队列的当前深度可被定义为一个度量值,在元素入队或出队时被更新;HTTP 请求个数可被定义为一个计数器,新请求到来时进行累加。Tr...
2019-04-26 16:20:53 5534 2
原创 go-micro项目实战四 链路追踪
链路追踪微服务架构下,所有的服务都分散在不同的地方,一旦某个服务出现问题,排查起来很费时费力。所以在微服务的演进下,需要一个全链路追踪系统来分析服务的运行状态。go-micro的trace插件Micro通过Wrapper实现了三种trace接口,aswxray,opencensus,opentracing。第一个是亚马逊AWS的。没有尝试。opentracing是一个开源的标准。提供对厂商...
2019-04-26 08:59:46 5863 1
原创 go-micro项目实战二 创建商品服务和订单服务
商品服务提供商品列表、详情、库存更新等服务订单服务提供订单提交、订单查询、状态变更等服务创建服务创建服务的过程和创建用户服务的过程一样。这里就不赘述了。如需查看源码可以参考https://github.com/qin-jd/shopping服务间交互例如在订单服务中,提交订单时需要先去商品服务那查询库存数量,然后生成订单,再对商品进行减库存操作。我们需要在订单服务的handler里...
2019-04-24 14:24:34 1862 2
原创 go-micro项目实战三 消息订阅
通知服务提供发送通知服务新建服务micro new shopping/notification该服务比较简单,只实验了消息发布和订阅的功能,未提供真正通知的逻辑。实现的功能是:订单提交成功后,通知用户订单已经提交。消息代理基于go-micro强大的插件机制。go-plugins内置了诸如grpc,rabbitmq,nats,redis。几乎可以在这些代理之间无缝切换。本次实验采用r...
2019-04-24 14:24:19 4190 5
原创 go-micro项目实战一 创建用户服务
###用户服务用户服务,提供登录、注册、修改密码等功能。###新建服务micro new shopping/user整理结构增加model目录和repository目录,删掉proto里默认的example文件夹,创建user文件夹。开发步骤:1.定义接口 -> 2.生成接口代码 -> 3.编写model层代码 -> 4.编写repository数据操作代码 ->...
2019-04-24 14:24:09 4549 18
原创 go-micro电商项目实战简介
项目简介该项目是我自学go-micro的练手项目。作为一个用来学习的小型的电商项目。该项目会包括以下微服务:user-srv 用户服务,提供注册、登录、修改密码等操作product-srv 商品服务,提供商品搜索,商品详情,减少库存等操作order-srv 订单服务,提供提交订单、查看订单详情等操作notification-srv 通知服务,提供发送通知的操作代码比较糙,因为我完全没...
2019-04-24 14:23:43 7816 1
原创 micro 使用grpc协议
gRPCgrpc 是谷歌开源的rpc框架,基于http2实现,并支持跨语言。高性能,跨语言。go-micro和grpc无缝集成。go-micro里默认使用的通讯协议是MUCP https://github.com/micro/protocol如果想要在go-micro里使用grpc协议,可以使用官方的grpc插件go-grpchttps://github.com/micro/go-gr...
2019-04-10 17:20:33 4543 2
原创 micro api入门
上一节学习了go-micro的入门。这一节我们来熟悉micro的工具集里的api用法。micro api网关Micro的api就是api网关API参考了API网关模式为服务提供了一个单一的公共入口。基于服务发现,使得micro api可以提供具备http及动态路由的服务。下载micro工具集go install github.com/micro/micro该命令会在GOPATH/bi...
2019-04-01 17:25:25 5004 5
原创 go-micro入门
安装go-micro1.安装服务发现能力,docker安装consuldocker run -d --net=host -e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' --name consul_server consul agent -server -bind=192.168.0.111 -bootstrap-expe...
2019-04-01 11:43:45 9052 4
GB/T 4754-2017
2019-03-11
正则表达式求大牛解答
2017-03-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人