分类目录归档:Golang-Dev

[ api服务的项目流程解析[go-zero] ]


创建项目案例01的ucenter-api的服务文件夹

api服务启动时

  1. 终端输入的命令行参数
  2. 读取配置文件
  3. 获取服务
  4. 创建服务结构体(mysql, redis, config, 连接等..)
  5. 创建路由结构体
  6. 注册路由
  7. 启动服务
go run main.go

main.go

package main

import (
    "flag"
    "fmt"

    "ucenter-api/internal/config"
    "ucenter-api/internal/handler"
    &

< Read more >

[ 微服务项目流程解析[go-zero] ]


创建项目案例01的ucenter的grpc服务文件夹

一. 配置文件

1./etc/config.yaml文件名, 以及内容(安装和部署etcd服务发现)

Name: ucenter.rpc
ListenOn: 0.0.0.0:8081
Etcd:
  Hosts:
  - 42.193.152.252:2379
  Key: ucenter.rpc
  Token: tkn
DbMysql:
  Host: 47.120.55.99
  Port: 3306
  Username: root
  Password:  chenhaifeng
  Databases: go_netdisk
C

< Read more >

[ go-zero微服务项目搭建[go-zero框架] ]


Go-zero微服务框架

一. 安装

...请自行查看文档安装

二. 项目配置

  1. 配置gopath环境变量
  2. 在src目录下创建项目文件mscoin
    • ucenter就是rpc服务
    • ucenter-api就是api服务
    • grpc-common就是rpc服务公用的文件
    • mscoin-common就是api服务公用的文件
  3. 创建好上述4个文件夹(每个文件夹里面执行go mod init)
  4. 回到mscoin文件夹执行 go work init创建工作, 再添加文件夹
    • go work use ./ucenter
    • go work use ./ucenter-api
    • go work use ./grpc

< Read more >

[ etcd[golang]服务发现 ]


github官方

官方文档

配置文件yaml

conf1.yaml

# 结点名称
name: "s1"

# 数据存储目录
data-dir: "/etcd-data"

# 集群提供给外部客户端访问的url, 即外部客户端必须通过指定
listen-client-urls: "http://0.0.0.0:2379"

# 想客户端发布的服务端点
advertise-client-urls: "http://42.193.152.252:2379"

# 集群成员之间通信使用的url
listen-peer-ur

< Read more >

[ zap日志[go] ]


基本使用

package main

import (
    "os"

    "github.com/natefinch/lumberjack"
    "go.uber.org/zap"
    "go.uber.org/zap/zapcore"
)

type Logger struct {
    *zap.Logger
}

func ZapLoginit() *Logger {
    coreList := make([]zapcore.Core, 0)
    // 输出终端
    encod

< Read more >