Go微服务九 go语言工程制作dockerfile,通过docker将项目或者独立服务部署到服务器

go语言工程制作dockerfile,通过docker将项目或者独立服务部署到服务器 前言 docker,[kubernetes]的天下,如何使用docker将go语言项目部署到docker容器,然后部署到服务器>[kubernetes]的天下,如何使用docker将go语言项目部署到docker容器,然后部署到服务器 编...

Go微服务八 Go-gGRPC 不同端口提供rpc和http服务

与[微服务六]略有不同。 以商品详情场景解释本篇和[微服务六]还有[微服务七]的不同之处 微服务六: 不同端口同时支持rpc和http。 ​ 场景: 商品服务-> 商品库存等 ​ 商品服务-> 商品库存提供rpc:端口(9001) 客户端可以通过rpc调用商品库存rpc接口服务, 此...

Go微服务七 同一端口监听grpc和http服务 客户端只能使用rpc调用服务端提供的rpc,服务端提供的api,客户端可以使用http调用

在上一篇文章中,基于TLS认证,使用grpc-gateway提供了grpc和http服务。两个服务启动了两个端口。 可能还有同一个端口启用两个服务的业务。rpc是rpc服务,另外是api接口。其实一个链接可以是rpc或者http,但不能同时是两者 一 在项目目录下执行 go get -u github.com/s...

Go微服务六 Go – gRPC – TLS 使用rpc-gatway 不同端口同时提供rpc和http服务 客户端rpc和http选其一调用

为什么要这么做: 不管时内部另外一个服务还是外部第三方服务,如果调用者也使用了rpc,可以调用写好的服务端。 如果调用者没有使用rpc而使用了http RESTFUL API ,那就要使用rpc-gatway提供http服务了 简而言之:一个商品详情服务接口即可以提供rpc也可以支持http ...

Go微服务五 Go – gRPC 中的TLS认证

介绍 在上一篇中简单介绍了 在go中gRPC的使用,但是无签名的认证。这一篇简单介绍生成cert进行TLS认证的调用 代码较上一篇改动不大。包含使用openssl生成ca证书 证书生成流程 新增ca.conf [ req ] default_bits = 4096 distinguished_name = req_distinguish...

Go微服务四 Go -gRPC

环境 ​ 环境: mac go1.17.7 安装Protobuf [protoc github下载地址] 下载下来之后解压,配置.zshrc #protoc export PATH=/Users/cc/protoc-3.9.0/bin:$PATH source ~/.zshrc 安装 golang 的proto工具包 go get -u google.golang.org/protobuf/proto 安...

Go微服务三 Go-RPC

RPC 1. 简介 什么是RPC? 远程过程调用(Remote Procedure Call, RPC)。计算机的一个通信协议 该协议允许一台计算机的程序调用另一台计算机的程序。 如果涉及的软件采用的面向对象编程,远程调用也可以叫做远程调用或远程方法调用 2. Go实现RPC 2.1 如何实...

Go微服务二 Go+nacos 实现配置共享

Nacos 简介 作用 发现、配置和管理微服务 特性 服务发现和服务健康监测、 动态配置服务 动态 DNS 服务 服务及其元数据管理 搭建Nacos 安装 压缩包方式 [nacos2.0.4 github下载地址] ➜ mkdir nacos-server ➜ cd Downloads && mv nacos-server-2.0.4.tar.gz ...

Go微服务一 浅谈微服务

什么是微服务 把一个大应用拆分成多个独立的小应用,每个应用就是一个服务。每个服务运行在独立的进程里,并且他们可以通过自动化的方式部署 微服务的特点 单一指责,比方说登陆注册服务,只处理登陆和注册、日志服务之处理日志、用户服务、订单服务、商品服务、秒...

Go操作nsq

Go操作nsq 一. 基于docker-compose 搭建nsq集群 二. nsq 简单了解 nsqd:一个负责接收、排队、转发消息到客户端的守护进程 nsqlookupd:管理拓扑信息并提供最终一致性的发现服务的守护进程 nsqadmin:一套Web用户界面,可实时查看集群的统计数据和执行各种各样的管...