惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
V
Visual Studio Blog
Martin Fowler
Martin Fowler
The GitHub Blog
The GitHub Blog
T
The Blog of Author Tim Ferriss
博客园 - 三生石上(FineUI控件)
罗磊的独立博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
A
About on SuperTechFans
J
Java Code Geeks
博客园_首页
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
F
Full Disclosure
P
Proofpoint News Feed
The Register - Security
The Register - Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Last Week in AI
Last Week in AI
aimingoo的专栏
aimingoo的专栏
有赞技术团队
有赞技术团队
P
Privacy International News Feed
美团技术团队
W
WeLiveSecurity
H
Hackread – Cybersecurity News, Data Breaches, AI and More
S
Schneier on Security
Schneier on Security
Schneier on Security
Engineering at Meta
Engineering at Meta
Cyberwarzone
Cyberwarzone
Microsoft Security Blog
Microsoft Security Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Proofpoint News Feed
MyScale Blog
MyScale Blog
G
GRAHAM CLULEY
H
Heimdal Security Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Attack and Defense Labs
Attack and Defense Labs
博客园 - 司徒正美
P
Privacy & Cybersecurity Law Blog
D
DataBreaches.Net
F
Fortinet All Blogs
博客园 - 【当耐特】
雷峰网
雷峰网
腾讯CDC
Hacker News - Newest:
Hacker News - Newest: "LLM"
Webroot Blog
Webroot Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
MongoDB | Blog
MongoDB | Blog

重归混沌的BLOG

给silly实现了一个ernro模块 | 重归混沌的BLOG 给silly实现了一个ernro模块 | 重归混沌的BLOG 第一次在生产环境使用 Vibe Coding | 重归混沌的BLOG 第一次在生产环境使用 Vibe Coding | 重归混沌的BLOG API 设计的艰难抉择 | 重归混沌的BLOG API 设计的艰难抉择 | 重归混沌的BLOG 十年 | 重归混沌的BLOG 十年 | 重归混沌的BLOG 在Go语言中如何使XML加载内存无限趋近于0 | 重归混沌的BLOG 在Go语言中如何使XML加载内存无限趋近于0 | 重归混沌的BLOG 对跨服玩法中的分布式一致性问题进行简单抽象 | 重归混沌的BLOG 对跨服玩法中的分布式一致性问题进行简单抽象 | 重归混沌的BLOG Go语言逃逸分析之slice和map | 重归混沌的BLOG Go语言逃逸分析之slice和map | 重归混沌的BLOG 谈谈观测 | 重归混沌的BLOG 谈谈观测 | 重归混沌的BLOG 写了个AI Agent服务端 | 重归混沌的BLOG 写了个AI Agent服务端 | 重归混沌的BLOG 谈谈代码设计中“严丝合缝” | 重归混沌的BLOG 谈谈代码设计中“严丝合缝” | 重归混沌的BLOG 一次艰难的线上游戏服务器内存排查经历 | 重归混沌的BLOG 一次艰难的线上游戏服务器内存排查经历 如何基于LanguageServerProtocol来编写lint工具 谈谈游戏服务器中RPC模块的设计 谈谈游戏服务器代码抽象 最近碰到的一个分布式一致性问题 谈谈游戏服务器的自动化测试 对Raft协议的一点理解 使用mmap来学习/proc/pid/smaps 再次实现了一个Lua性能分析器 终于给Silly的定时器增加了取消功能 一次虚拟内存排查经历 游戏服务器分布式数据的一种同步的思路 为silly增加了互斥锁 2022(完) Go语言之闭包篇 一例误用unsafe包引起的内存问题 Go语言之内存篇 初识Go语言 重新抽象图形API 给Lua实现了一个数学库 谈谈跨平台图形API的抽象 寻路和Flocking算法的结合 行为树的一种高效实现 内测过程中Shader出现的问题 彻底解决多国语言 谈谈数据库的选型 再谈Lua热更新(终) 初窥Rust 关于游戏服务器的服务拆分 ECS的初步实现 ECS初探 屏幕空间(SreenSpace)的想象力 一些对辐射度量学的理解 深度缓冲和半透明渲染 Mysql的间隙锁 更新一些GPU相关知识 2020 地形渲染之爬过的坑 Lua5.3 GC源码阅读(5) 实现一个数据库存储队列 再学计算机图形学入门 再谈分布式服务架构 游戏上线一个月后的反思 一次并发Bug 双向链表的三种实现 谈谈随机数的使用 再谈性能优化 2019 Lua中的函数式编程 重构登录逻辑 Unity资源管理(续) 谈谈Unity的资源管理 一次关于Cache的性能分析 历史之2018 DC3算法 移动平台native代码遭遇的坑 从CPU层面谈谈优化 开卷有益(UNIX编程艺术篇) GC竞争问题 通过Mesh投影来实现贴花系统 谈谈我对数据同步的理解 又一个类型提升引起的Bug Lua5.3 GC源码阅读(4) Lua5.3 GC源码阅读(3) Lua5.3 GC源码阅读(2) Lua5.3 GC源码阅读(1) 三角形光栅化时遇到的坑 一次git事故 再见2017 又一个lua调试器 客户端缓存落地方案 Paxos算法 HTTP服务器的特点 一次性能优化经历 关于CPU分支预测 C程序中让两个不同版本的库共存 实现了一个AOI模块 一个高可伸缩的游戏服务器架构 关于网络协议封装的一些新想法
2023(完)
重归混沌 · 2024-01-01 · via 重归混沌的BLOG

2023年又已经走完了最后一秒。相比2022年,技术上的收获更少了,令我醍醐灌顶的突破已经很久没有出现过了。

回顾历年来的blog,我发现这几年的技术增长趋势越发的平缓,2023年更是几乎趋近于直线。

虽然技术突破几乎没有,经验总算还有一点点增加。

虽然现在工作语言已经切换为Go语言,但是我依然没有放弃对Silly的开发。

我常常反思并比较,,探究使用silly来实现工作中的业务逻辑的优势和劣势。

在这个过程中,我发现即使Silly框架只存在竞争而非并发问题,抽象出一个mutex也能大幅减轻业务逻辑的抽象负担

在为Silly增加对prometheus的支持时,我也发现了自己的一个盲点

尽管我对操作系统和硬件电路的宏观运作流程有清晰的认识,但对具体细节却知之甚少。

这个缺点或许与我多年来的学习习惯有关,我总习惯于先了解全局再深入细节,但现在看来应该适时深挖一下操作系统相关的知识了。

在过去一年的业务开发中,收获不多,能够抽象成通用模式的更是只有一种而已,那是一种在分布式中如何稳定同步数据源的思路。

我继续对silly增加etcd支持的过程中,我下定决心为timer增加了取消功能。值得一提的是,增加这个取消功能在实现上并没有花费太大代价。

在编写Go语言代码的过程中,我最羡慕的不是他的各种特性,而是其便捷的性能分析器。

有了这个性能分析器,我可以更从容地遵循过早的优化是万恶之源这一箴言。

因此,我非常期待也能在编写Lua代码时也可以Don't do it yet.

正巧我也有学习eBPF和Rust的需求。因此,我决定使用Rust编写eBPF代码,以实现Lua性能分析器的功能。 当然,同时学习两种未知领域的过程必然充满挑战,但痛苦终究是短暂的。

除了上述稍显具体的收获外,还有一种无法言喻的成长,那就是我的“性能追求症”得到了极大改善。

在工作中,由于一些特殊限制,我经常会编写那些以前因时间复杂度较高而避免的代码。

然而这些代码上线之后并没有出现性能问题。这大大增加了我对过早的优化是万恶之源的信心。

除此之外,我对游戏服务器框架有了新的理解。

我认为整个游戏服务器其实只需要分为Role ServerGlobal Server就够了。

Role ServerGlobal Server只是代表数据的职责,并不局限于某种具体的业务逻辑。

Role Server只用来处理所有和玩家自身相关的数据,而Global Server用来处理玩家和玩家之间的交互数据。

当然这只是一种猜想,如果有可能我2024年会实现出来以做验证。

虽然过去任务总是没法完全完成,但是这并不能阻止我定下2024的目标:

  1. silly增加完etcd相关的支持。
  2. 实现并验证上述服务器框架的猜想。
  3. 探索如何将这套框架实施在K8S上,以学习K8S。
  4. 继续优化silly的log模块,学习ELK,尽量能实现建议的分布式追踪功能。
  5. 如果还有时间,继续学习ECS,研究ECS在网络同步和服务器端的应用。