CC BY 4.0 (除特别声明或转载文章外)
1、开源项目
1-1、redis
redis项目里面的网络框架(Redis ae事件驱动库)非常不错,称得上是短小精悍,我已经star了两个仓库,在我的star搜索关键字
redis
。
1-2、libev
windows下visual studio编译libev:
- 在vs下添加已存在的项目;
- 从vs中移除
ev_epoll.c
,ev_kqueue.c
,ev_poll.c
,ev_select.c
,ev_win32.c
几个文件; - event.c中要包含winsock2.h头文件; config.h.in复制为config.h, 定义
HAVE_SELECT
和HAVE_SYS_SELECT_H
- 加上ws2_32.lib
- 关于windows下编译libev的问题:
- cygwin下编译正常,有backend;
- visual studio中编译的话:
(1)把config.h.in复制一份改为config.h,然后HAVE_SELECT和HAVE_SYS_SELECT_H都定义为1后;
(2)在event.c中包含winsock2.h头文件
编译ok, 有backend(select), 运行libev官网上的例子(去掉io watcher,只保留timer watcher)正常. - libev 教程:可以参考这个大神的博客,里面搜索关键字
libev
1-3、Snowflake算法
1-4、skynet
- skynet架构,基本的框架介 以及 Skynet 设计综述。
1-5、raft(分布式系统 RAFT 一致性算法)
1-6、groupcache
- groupcache(已star)是一个分布式缓存 go 语言库,支持多节点互备热数据,有良好的稳定性和较高的并发性。寥寥2000来行代码完成了个lru cache库,核心只用一个list和一个map,出自brad大神之手(memcached作者)。
1-7、UUID生成
2、游戏开发
- 游戏常用的编程设计模式:游戏编程模式。
行为树:
棋牌游戏开发:
基于Lua的游戏服务端框架简介,是以C/C++为底层,lua为上次的游戏框架为基础,做了比较全面的介绍。
游戏的同步方式:帧同步和状态同步。前者适用于FPS/RTS游戏,后者适用于mmorpg游戏。