编程技术
laughing_zhong
这个作者很懒,什么都没留下…
展开
-
如何构建快速响应需求的代码
最近在开发过程遇到一个问题,最初期的版本需求很简单,当然我实现的也很简单。但中途不断的有新的需求提出来,在以前的简单代码中加入后来的新需求,变的越来越复杂,导致代码的可维护性大大降低。介于这个问题,我决定把代码整理一下,记录一下。当我们的代码在一个主循环中,有很多的变量要监控,那意味着将有很多的 if--else语句,这样的代码在后期很难维护,如下:•• while (!_is原创 2013-02-01 19:10:49 · 716 阅读 · 0 评论 -
游戏服务端开发-随想
最近公司上线了一款游戏,后台f原创 2014-09-30 14:23:21 · 630 阅读 · 0 评论 -
redis应用小技巧
前两天在跟同事讨论交互协议时间,由于我们的架构技术上采用的是http协议,对每个请求,应用程序要跟redis交互两次,一次去取用户登录的session,拿到本地应用逻辑验证通过后再做下面的逻辑处理。对于这种用法,我本人是很反对这种交互方式的,没有必要没个请求逻辑都要去redis请求两次, 我认为至少我们有两种方法来解决这个问题(要请求两次)的:1 我们可以在请求的包里加一段lua脚本,原创 2013-03-07 22:51:51 · 784 阅读 · 0 评论 -
无状态的“长连接”模式实现手游的网络通信
最近在做原创 2014-07-25 22:35:42 · 2184 阅读 · 0 评论 -
cgf通用游戏框架设计(一)
最近在用 JAcommon game framework (cgf) ,通用游戏框架,原创 2014-06-01 10:13:06 · 984 阅读 · 0 评论 -
高效读写DB---目标
最近的工作需要频繁的读写数据库,即使我们用了 redis做缓存,这样的话,我们减少了对数据库的读,但没有减少对数据库的写。我想要减少对数据库的写操作,这样可以减少对数据库的压力。所以决定实现一个DBCache.主要作用:缓存部分数据 根据需求,我们可以按照LRU算法,来在DBCache缓存活跃用户数据,这样有两个作用:第一,当用户来读数据的话,我们可以直接,从DBCache的内存缓原创 2013-03-20 19:03:10 · 672 阅读 · 0 评论 -
nginx lua实现高效游戏服务器
工作需要实现基于http协议的Game server。我准备用前端NginX和Lua后端用TOmcat/java 实现。基本实现思路如下。先说一下我们目前的做法是:Nginx和php。Redis 做数据缓存 MySQL 做数据库。这样每次用户的请求上来,php都会去redis 和mysql 取数据,数据更新后同步的写到MySQL 和Redis 中,这里有以下缺点:1,对玩家的请求处理原创 2013-12-13 10:18:19 · 4096 阅读 · 1 评论 -
记录一个http协议说明
二、HTTP协议2.1 简介超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是应用层协议,自 1990 年起,HTTP 就已经被应用于 WWW 全球信息服务系统。HTTP 是一种请求/响应式的协议。一个客户机与服务器建立连接后,发送一个请求给服务器;服务器接到请求后,给予相应的响应信息。HTTP 的第一版本 HTTP/0.9是一种简单的原创 2013-12-02 17:50:44 · 515 阅读 · 0 评论 -
数据控制层实现
接着上一篇的设计,初步构想的实现如下:综述: 数据控制层,主要是负责app(应用层)跟数据层的交互。 目的:减少整个服务器组的耦合度,以是应用层的逻辑与数据分开,最大限度的提高应用层服务的吞吐量。设计原则:最大限度的实现异步,并发处理。屏蔽应用层与数据层的交互细节。程序分三层:网络层,逻辑层,数据交互层网络层:采用epoll做客户端请求的网络处理。这一层主要原创 2013-03-17 22:46:25 · 1146 阅读 · 0 评论 -
redis 集群设计一种方案
最近,在做一个管理2亿用户数据的平台方案,根据我们业务的需求,采用http协议,这样很自然地,我们就是用了webserver, nginx+fast_cgi ,后端缓存我们选择了redis.但对于2亿的用户处理,我们的缓存不能是一两台就能够的,最后我们决定使用8个redis来缓存我们目前的数据。这样问题就来了:服务器组耦合度很大,不利于开发,维护, 我们的应用进程要去访原创 2013-03-14 13:16:39 · 715 阅读 · 0 评论 -
记多线程操作一个BUG
今天碰到一个多线程的BUG,在这里记一下:问题是这样的:在调试一个JAVA服务器跟C++ server一个对接问题,在java的收到HTTP包的必经的地方,做一个计数。发现JAVA里的计数,跟C++server的数据数总是要少一些。因为C++ server是我写的,所以我排查了一下,确信在计数的地方是单线程操作的,这里不会出问题。那么问题就出现在JAVA的WEB server,在JAVA的原创 2013-06-21 23:11:53 · 653 阅读 · 0 评论