social

module
v0.0.0-...-2692626 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 28, 2023 License: MIT

README

社交系统 Social System

提供社交服务,其中包括好友系统,博客系统

TODO

robot 测试

1.注册 2.注销 使用多客户端,不间断操作.并发送简单消息.

整合log系统到social中

在gate中创建管理器, 管理 friend system

使用说明

项目初始化

go mod init social

安装包

go get google.golang.org/grpc
go get -v github.com/pkg/errors
go get go.etcd.io/etcd/client/v3
go get github.com/google/uuid
*go get github.com/agiledragon/gomonkey
go get go.mongodb.org/mongo-driver/mongo
#go get go.mongodb.org/mongo-driver@latest

使用以下命令安装Go的协议编译器插件

go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2
相关link:https://grpc.io/docs/languages/go/quickstart/

protobuf 工具

https://github.com/protocolbuffers/protobuf/releases

windows

下载文件 protoc-25.0-win64.zip
将 protoc-25.0-win64\bin\protoc.exe 配置到环境变量

由*.proto文件生成代码

运行 social/scripts/proto/gen.sh

将自定义标记注入到protobuf golang结构中:protoc-go-inject-tag

相关地址:https://github.com/favadi/protoc-go-inject-tag
安装命令:
go install github.com/favadi/protoc-go-inject-tag@latest

etcd windows部署(单例)

下载文件
https://github.com/etcd-io/etcd/releases/tag/v3.5.10

启动服务
解压运行 etcd.exe

使用
增
./etcdctl --endpoints=127.0.0.1:2379 put /test "Hello etcd"
查
./etcdctl --endpoints=127.0.0.1:2379 get --prefix social
删
./etcdctl --endpoints=127.0.0.1:2379 del --prefix xxxx

mongodb windows部署(社区版本)

社区版本:
    https://www.mongodb.com/try/download/community
    当前测试版本:7.0.4
shell:
    https://www.mongodb.com/try/download/shell
若无法启动,可尝试
    修改MongoDB服务的启动方式:
    打开服务管理器,可以通过按Win + R,输入services.msc,然后按回车打开.
    找到MongoDB相关的服务.MongoDB Server (MongoDB)
    右键点击MongoDB服务,选择“属性”
    在“登录”选项卡中,选择 "本地系统账户"

目录说明

├── api        --对外接口实现 
│   └── server
│       ├── methods.go    --RPC方法的入口
│       └── service.go   
├── bin         --二进制执行文件
│   └── server
|       └──log  --日志目录
|       └──bench.json.default  --服务配置(正式为bench.json)
├── cmd         --Main入口 
│   └── main  --程序入口
├── internal    --游戏服务业务逻辑 
│   └──  server
│        └── internal   --该目录下具体实现服务的各模块,内部可拆分子目录(如hero、skin等)
│            └── property    --静态数据存放在此目录下
│            └── skin
│            └── hero
├── pkg         --通用工具包
│   ├── bench   --配置文件方法定义
│   ├── common  --通用方法定义
│   ├── consts  --常量定义
│   ├── deps    --依赖封装
│   ├── ec      --错误码定义
│   └── proto   --各服务的proto文件生成的代码
├── proto       --PROTO文件
|   ├── server   
|        ├── server.proto    --service和rpc
│        └── message.proto  --服务的message
├── scripts     --脚本目录
│   ├── tpl
│   ├── proto  --生成协议
│   └── sql 
├── third_party --第三方依赖
│   └── protobuffer
│       ├── go-proto-validators
│       ├── google
│       │   ├── api
│       │   └── rpc
│       └── tevat
│           └── api
├── tools       --项目工具
└── vendor
└── test  --测试程序

Directories

Path Synopsis
cmd
internal
robot/config
Package config 逻辑配置
Package config 逻辑配置
lib
consts
Package consts 常量
Package consts 常量
error
Package error 错误
Package error 错误
func_mgr
Package func_mgr function 管理器 通过function id (uint32) 来绑定一个处理
Package func_mgr function 管理器 通过function id (uint32) 来绑定一个处理
log
pb
timer
Package timer 定时器 优先级:加入顺序,到期
Package timer 定时器 优先级:加入顺序,到期
pkg
ec
Package ec Code generated by gen.sh.
Package ec Code generated by gen.sh.
mdb
msg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL