0%

本文是对游戏中逻辑数据的配置的一个总结。游戏逻辑数据的配置,是mmo游戏首要考虑的问题,从字面意思看就是简单的生成游戏逻辑配置,让前后端加载即可;实际上往中后期的测试和调试来讲,却又不是一个简简单单的游戏逻辑配置问题

阅读全文 »

网上有视频和一些博客虽然对epoll的原理进行了讲解,但仍然有些不详细的地方,重新梳理epoll的实现,并整理笔记记录一下;参考的文章很多粗制滥造,所以现在看文章都非常注意了,介绍原理的文章中讲到了一个核心点,就是有poll,select,为什么还要有epoll,答案是提高应用程序的效率,此文章首先讲到了select的实现方式,归根结底将轮询socket的状态,通过增加另外的数据结构来优化这部分的阻塞。因此是增强版的poll和select。

阅读全文 »

本文记录gozero微服务在k8s中使用dapr的配置组件,做为分布式配置中心完整方案;因为agile使用的pgsql的数据库,这里首先在agile数据库中新建pgsql表,建立触发器通知dapr,agile微服务中改进为发布时往keyvalue表中插入配置以触发通知dapr,dapr再通知各个关注的微服务。
gozero微服务中通过dapr sdk,解析获得的配置数据。

阅读全文 »

JWT在微服务中的认证中经常使用,本文记录jwt搭配gin来给app的api接口提供基本的认证服务,首先介绍jwt的封装,然后介绍实现gin认证的中间件以提供jwt的认证,最后介绍一下token过期时,token的刷新过程。

阅读全文 »

从ini配置文件中读取服务器配置,是开发中常见的任务,这种从文件中读取固定配置和从配置中心读取统一配置,可以相互配合,给运维提供灵活的方法,本文记录使用gcfg组件读取ini文件的简单方法。

阅读全文 »

本来打算在项目中部署使用rabbitmq,发现对于app应用,rabbitmq还是有点重,考虑到使用和维护难易度,redis在5.0版本以后提供了消息队列功能,也就是stream的相关命令,这里对使用这个组件的一些笔记,生产环境中运行稳定良好。

阅读全文 »

最近看golang1.21的发布时,看到已经有结构化日志库提供了,不过在项目中我经常用的到日志库是logrus。本文总结logrus的使用,并用笔记记录。logrus除了是结构化日志以外,我更看重的是有很多外部的hook支持,最初选择是因为可以向logstash发送日志。

阅读全文 »

本文结合上文交叉编译内核后,记录内核调试方法的整个过程,分三步,编译可调试内核,部署调试符号,使用vscode调试.只有通过修改源码,才能真正理解代码,真正理解代码背后的设计思想,所以要多动手尝试,慢则是快.

阅读全文 »