2016年6月1日
摘要: Joynet 项目地址:https://github.com/IronsDu/Joynet 介绍 high performance network library for lua, based on https://github.com/IronsDu/accumulation-dev and lu 阅读全文
posted @ 2016-06-01 11:56 irons 阅读(3507) 评论(3) 推荐(0) 编辑
  2016年4月8日
摘要: 以前为了不在游戏逻辑(对象属性)变更时修改数据库,就弄了个varchar字段来表示json,由服务器逻辑(读取到内存)去操作它。 但这对运维相当不友好,也不能做一些此Json数据里查询。 所以后面就用了下ssdb,然而就在前几天才了解到postgresql支持json了(其实早在两年前就行了吧··· 阅读全文
posted @ 2016-04-08 20:03 irons 阅读(1390) 评论(0) 推荐(0) 编辑
  2016年3月18日
摘要: 分布式服务器框架 框架简介 此框架由三种服务器组成: n个 :负责处理客户端的网络链接,并转发客户端和逻辑服务器之间的消息。 n个 :负责处理(由链接服务器转发过来的)客户端的网络消息 1个 :负责处理全局逻辑 其实还额外需要一个神器: "etcd" ,作为服务器框架中的 感知 的新增和失效 无论拓 阅读全文
posted @ 2016-03-18 15:25 irons 阅读(2900) 评论(1) 推荐(2) 编辑
  2015年11月20日
摘要: dbproxy是我业余采用C++11编写的跨平台代理服务器(并使用lua和自己的网络库),以扩展系统负载,同时使用多个后端数据库,后端数据库支持redis和ssdb。需要由用户自己编写lua脚本控制sharding。测试效率比codis略高,且占用更少的CPU和内存。下面是github上的readm... 阅读全文
posted @ 2015-11-20 09:45 irons 阅读(1551) 评论(0) 推荐(2) 编辑
  2015年7月1日
摘要: 之前的网络库以id作为会话对象的标示,但很多应用服务器的逻辑比较复杂,每个会话对象需要携带(保存)很多状态,那么开发人员总是会构建一个对象管理器。所以我在之前网路库封装成以C++对象为标示,作为网络事件回调以及网络接口的参数。这里展示的是一个pingpong协议测试程序(未分包,分包不影响此协议的效... 阅读全文
posted @ 2015-07-01 16:42 irons 阅读(592) 评论(0) 推荐(0) 编辑
  2015年1月7日
摘要: RPC中文叫远程函数调用,它是一种通信方式,只是看起来像普通的函数调用。它包括三个基本要素:1:服务端注册相应的(服务)函数(用于调用方调用)2:调用方通过函数调用的方式将一些信息和参数打包到消息,然后发送消息给被调用方。3:被调用方收到消息后,提取信息和参数。调用相应函数。被调用方不需要用户手动解... 阅读全文
posted @ 2015-01-07 13:39 irons 阅读(12135) 评论(17) 推荐(3) 编辑
  2014年12月23日
摘要: I:跨平台设计基础 在windows下使用0字节的WSARecv/WSASend(读写)作为读写检测,将IOCP作为一个通知模型,而"抛弃"它的异步模型。即:把它当作epoll来用。使得(方便)网络库的设计(譬如socket的读写处理)在windows和linux下实现统一: 底层获得读写通知,应用... 阅读全文
posted @ 2014-12-23 10:18 irons 阅读(7669) 评论(5) 推荐(2) 编辑