![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go-micro微服务实战
一个不靠谱的程序员
这个作者很懒,什么都没留下…
展开
-
go-micro项目实战四 链路追踪
链路追踪 微服务架构下,所有的服务都分散在不同的地方,一旦某个服务出现问题,排查起来很费时费力。所以在微服务的演进下,需要一个全链路追踪系统来分析服务的运行状态。 go-micro的trace插件 Micro通过Wrapper实现了三种trace接口,aswxray,opencensus,opentracing。第一个是亚马逊AWS的。没有尝试。 opentracing是一个开源的标准。提供对厂商...原创 2019-04-26 08:59:46 · 5843 阅读 · 1 评论 -
go-micro项目实战五 服务监控
服务监控 可能读者会问,链路追踪和服务监控不是一个东西么?以下知识普及来源于网上。 我这里从网上找到一张图 很形象。 Logging - 用于记录离散的事件。例如,应用程序的调试信息或错误信息。它是我们诊断问题的依据。 Metrics - 用于记录可聚合的数据。例如,队列的当前深度可被定义为一个度量值,在元素入队或出队时被更新;HTTP 请求个数可被定义为一个计数器,新请求到来时进行累加。 Tr...原创 2019-04-26 16:20:53 · 5511 阅读 · 2 评论 -
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 · 4339 阅读 · 0 评论 -
go-micro电商项目实战简介
项目简介 该项目是我自学go-micro的练手项目。作为一个用来学习的小型的电商项目。该项目会包括以下微服务: user-srv 用户服务,提供注册、登录、修改密码等操作 product-srv 商品服务,提供商品搜索,商品详情,减少库存等操作 order-srv 订单服务,提供提交订单、查看订单详情等操作 notification-srv 通知服务,提供发送通知的操作 代码比较糙,因为我完全没...原创 2019-04-24 14:23:43 · 7785 阅读 · 1 评论 -
go-micro项目实战一 创建用户服务
###用户服务 用户服务,提供登录、注册、修改密码等功能。 ###新建服务 micro new shopping/user 整理结构 增加model目录和repository目录,删掉proto里默认的example文件夹,创建user文件夹。 开发步骤:1.定义接口 -> 2.生成接口代码 -> 3.编写model层代码 -> 4.编写repository数据操作代码 ->...原创 2019-04-24 14:24:09 · 4537 阅读 · 18 评论 -
go-micro项目实战二 创建商品服务和订单服务
商品服务 提供商品列表、详情、库存更新等服务 订单服务 提供订单提交、订单查询、状态变更等服务 创建服务 创建服务的过程和创建用户服务的过程一样。这里就不赘述了。如需查看源码可以参考https://github.com/qin-jd/shopping 服务间交互 例如在订单服务中,提交订单时需要先去商品服务那查询库存数量,然后生成订单,再对商品进行减库存操作。 我们需要在订单服务的handler里...原创 2019-04-24 14:24:34 · 1826 阅读 · 2 评论 -
go-micro项目实战三 消息订阅
通知服务 提供发送通知服务 新建服务 micro new shopping/notification 该服务比较简单,只实验了消息发布和订阅的功能,未提供真正通知的逻辑。 实现的功能是:订单提交成功后,通知用户订单已经提交。 消息代理 基于go-micro强大的插件机制。go-plugins内置了诸如grpc,rabbitmq,nats,redis。几乎可以在这些代理之间无缝切换。 本次实验采用r...原创 2019-04-24 14:24:19 · 4173 阅读 · 5 评论 -
go-micro项目实战七 logging
logging 我们之前分别讲了微服务架构下的tracing,metrics。这节我们来讲一下logging 日志作为整个代码行为的记录,是程序执行逻辑和异常最直接的反馈。对于整个系统来说,日志是至关重要的组成部分。通过分析日志我们不仅可以发现系统的问题,同时日志中也蕴含了大量有价值可以被挖掘的信息,因此合理地记录日志是十分必要的。 个人理解 tracing对于系统性能分析很重要。 metrics...原创 2019-04-29 17:31:29 · 3358 阅读 · 0 评论