代码改变世界

go-micro集成RabbitMQ实战和原理

2022-05-07 07:18 by 萤火架构, 445 阅读, 0 推荐, 收藏, 编辑
摘要:在go-micro中异步消息的收发是通过Broker这个组件来完成的,底层实现有RabbitMQ、Kafka、Redis等等很多种方式,这篇文章主要介绍go-micro使用RabbitMQ收发数据的方法和原理。 Broker的核心功能 Broker的核心功能是Publish和Subscribe,也就 阅读全文

sqlx操作MySQL实战及其ORM原理

2022-05-06 07:43 by 萤火架构, 584 阅读, 0 推荐, 收藏, 编辑
摘要:sqlx是Golang中的一个知名三方库,其为Go标准库database/sql提供了一组扩展支持。使用它可以方便的在数据行与Golang的结构体、映射和切片之间进行转换,从这个角度可以说它是一个ORM框架;它还封装了一系列地常用SQL操作方法,让我们用起来更爽。 sqlx实战 这里以操作MySQL 阅读全文

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

2022-05-05 07:37 by 萤火架构, 393 阅读, 0 推荐, 收藏, 编辑
摘要:前几天有个同学想了解下如何在go-micro中做链路跟踪,这几天正好看到wrapper这块,wrapper这个东西在某些框架中也称为中间件,里边有个opentracing的插件,正好用来做链路追踪。opentracing是个规范,还需要搭配一个具体的实现,比如zipkin、jeager等,这里选择z 阅读全文

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

2022-04-25 07:40 by 萤火架构, 815 阅读, 2 推荐, 收藏, 编辑
摘要:go-micro v4默认使用mdns做服务发现。不过也支持采用其它的服务发现中间件,因为多年来一直使用Consul做服务发现,为了方便和其它服务集成,所以还是选择了Consul。这篇文章将介绍go-micro使用Consul做服务发现的方法。关于Consul的使用方式请参考我的另一篇文章:使用Co 阅读全文

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

2022-04-24 07:41 by 萤火架构, 889 阅读, 2 推荐, 收藏, 编辑
摘要:go-micro是一个知名的golang微服务框架,最新版本是v4,这篇文章将介绍go-micro v4开发RPC服务的方法及其运作原理。 基本概念 go-micro有几个重要的概念,后边开发RPC服务和介绍其运行原理的时候会用到,这里先熟悉下: Service:代表一个go-micro应用程序,S 阅读全文

解决go-micro与其它gRPC框架之间的通信问题

2022-04-22 07:18 by 萤火架构, 642 阅读, 2 推荐, 收藏, 编辑
摘要:在之前的文章中分别介绍了使用gRPC官方插件和go-micro插件开发gRPC应用程序的方式,都能正常走通。不过当两者混合使用的时候,互相访问就成了问题。比如使用go-micro插件生成的gRPC客户端访问基于gRPC官方插件创建的服务端时就会出现如下错误: {"id":"go.micro.clie 阅读全文

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

2022-04-21 07:14 by 萤火架构, 837 阅读, 1 推荐, 收藏, 编辑
摘要:go-micro是golang的一个微服务框架。 go-micro各个版本之间的兼容性问题一直被诟病,前几年go-micro更是分化出了两个分支: 一个延续了go-micro,只不过转到了其公司CEO的个人Github仓库中,访问地址: asim/go-micro: A Go microservic 阅读全文

十分钟学会Golang开发gRPC服务

2022-04-20 07:27 by 萤火架构, 719 阅读, 1 推荐, 收藏, 编辑
摘要:gRPC是Google发起的一个开源RPC框架,使用HTTP/2传输协议,使用Protocol Buffers编码协议,相比RESTful框架的程序性能提高不少,而且当前流行的编程语言基本都已经支持。 Golang开发gRPC应用程序的套路也已经很清晰,这篇文章就来做一个简单的介绍,算是入门。 1、 阅读全文

国产化之 .NET Core 操作达梦数据库DM8的两种方式

2022-04-19 07:08 by 萤火架构, 2609 阅读, 10 推荐, 收藏, 编辑
摘要:背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟,数据库使用达梦V8,CPU平台的范围包括x64、龙芯、飞腾、鲲鹏等。考虑到这些基础产品对.NET的支持,最终选择了.NET Core 3.1。 环境 CPU平台:x86-64 / Arm64 操作系统:银河麒麟 v4 数据库:DM8 阅读全文

国产化之银河麒麟.netcore3.1访问https服务的两个问题

2022-04-18 07:40 by 萤火架构, 2279 阅读, 25 推荐, 收藏, 编辑
摘要:背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟,数据库使用达梦V8,CPU平台的范围包括x64、龙芯、飞腾、鲲鹏等。 考虑到这些基础产品对.NETCore的支持,最终选择了3.1版本。主要原因就是龙芯搞了自研CPU架构,用户量不够大,.NET官方并没有专门针对龙芯的支持,而龙芯团 阅读全文