CodeFish
  • 首页
  • 文章系列
    gRPC Action 网络游戏实战
  • 归档
  • 分类
  • 标签
  • 关于
CodeFish'Blogs

游戏服务器架构的一些思考

背景 想写这篇文章挺久了,但是一直发现自己的技术视野好像并不是很广,所以一直没有动手,之前在公司内部写了一次后续我司的新项目的架构设计,发现自己的技术视野还是有所提升的,所以就想着写一篇关于游戏服务器架构的文章,来总结一下自己的一些想法。同时也希望可以验证一下自己的想法。 接触游戏服务器开发的时间不算短,也不是很长,从21年1月份入职呸喽到写这篇文章24年12月末,堪堪过去了将近4年。相比起
2025-02-06
#性能优化 #游戏服务器 #架构 #网络编程 #数据库

protovalidate-go 调研&应用

背景: protovalidate-go 库支持在proto 文件中自定义返回的message protoc-gen-validate(PGV ) 已进入维护阶段,也需要考虑技术问题 使用: 下载:https://github.com/bufbuild/protovalidate/blob/main/proto/protovalidate/buf/validate/validate.proto
2025-01-13
#Golang #package #protovalidate

《大道至简》读后感

前言 在我平时跟组员们交流沟通一些程序相关的问题时。我都会跟他们说一点:我们更多是在做工程,而不是技术。 一方面,技术是工程的基础,没有技术,就没有工程。另一方面,技术只是工程的一部分,工程是一个更大的概念。 今天在看云风的博客时,看到了他推荐的一本书《大道至简》。我就去看了一下。直接击中了我的心趴。 最喜欢的章节我最喜欢的是第六章,从编程到工程。 里面有一张图: 可能是因为我是软件工程专业的
2025-01-06
#读书 #大道至简 #读后感

工作案例:NSQ监控建设

前言 之前在工作中出现了一个问题,消息队列NSQ的消息积压,导致业务出现问题。 该问题的根本原因是消费端无法及时消费消息,导致消息堆积。 为了解决该问题,我们对NSQ进行了监控建设,以便及时发现问题并解决问题。 基本配置 本文环境是MacOS进行的搭建,其他系统请自行查找对应的安装方式。 Prometheusbrew install prometheus 安装后,我们能看到: 我们可以直接通
2024-12-30
#工作案例 #NSQ #监控

skynet mac 开发环境搭建

前言 Skynet 是云风大神开发的一个轻量级的网络框架,适用于游戏服务器等场景。 在目前公司内,我们的技术栈都是基于Go语言的,为了补充了解其他公司的游戏服务器技术栈,所以了解了一下Skynet。 在安装使用前,我建议将skynet的wiki文档看一遍,这样对于skynet的使用会更加得心应手。 本机环境 macOS 15.1.1 安装git clone [email protected]:clo
2024-12-09
#网络编程 #skynet #mac #lua #c #c++

Unity中使用OpenUPM

前言 openupm 是一个 Unity 的包管理工具,类似于 npm、yarn 等包管理工具。 通过 openupm 可以方便的安装、卸载、更新 Unity 的包。 准备工作 确保已经安装了 Node.js 和 npm。 确保本地存在git环境。 确保Unity版本大于 2018.4。 安装 OpenUPM CLI 打开终端,输入以下命令安装 OpenUPM CLI: 1npm insta
2024-12-02
#Unity #OpenUPM #包管理 #puerTs

flutter 国内镜像设置

使用国内镜像可以使用国内的 Dart 和 Flutter 包镜像,例如: Flutter 镜像: https://mirrors.cloud.tencent.com/dart Dart 镜像: https://pub.flutter-io.cn win直接在环境变量配置 12PUB_HOSTED_URL=https://pub.flutter-io.cn //国内用户需要设置FLUTTER_S
2024-10-08
#flutter #环境配置

Kratos - 使用指北

前言 Kratos是一个Go语言的微服务框架,由B站开源,用于构建高可用、高性能、可扩展的微服务。 文档地址:https://go-kratos.dev/ 代码地址:https://github.com/go-kratos/kratos 文档说明已经足够详细,本文主要是对文档中没有提到的一些问题进行补充,以及一些使用心得。 这里是我在使用Kratos时写的一个Demo。里面会包含这部分使用的代码。
2024-10-06
#Go #Kratos #微服务

工作案例:消息积压

前言 验证码场景大家屡见不鲜了,基本在现在主流的登录场景中,基本都是手机或者邮箱加上验证码验证的形式直接进行登录和注册。 在编写验证码服务时,我们经常会使用MQ来进行一个消息发送和调用厂商接口之间的解耦。 点击发送,调用发送接口,该逻辑负责直接生成验证码并且往消息队列中投递消息。 有个消费者服务,消费消息队列中的消息,负责调用云厂商接口进行发送验证码的服务调用。 我们的做法也是这样的。但是
2024-10-06
#工作案例 #消息队列 #消息积压 #MQ

工作中的代码设计:01-创建形代码设计

系列前言: 为什么要写这个系列? 这周一个朋友在工作时问我:当我要写一个SDK方法给业务方调用时,那这个代码该怎么设计?我第一反应就是:就是一个很经典的创建型场景。但是这位朋友还是在此基础上花费的比较多的时间。 讲解完该问题后,也想到之前在带人以及code review时,很多人写的代码都是梭哈式的开发,很少有人会去考虑代码的设计模式。 设计模式大家都或多或少的了解,但是在工作中写代码时,往往会忽
2024-09-20
#Golang #建造者模式 #工作中的代码设计
12

搜索

Hexo Fluid
总访问量 5636 次 总访客数 3427 人