关于游戏服务器与其它互联网业务服务器的思考

到项目组支援差不多半年,这半年什么乱七八糟的东西都干过,写过c++,golang,改过PHP,敲过lua,整过前端,最近又给了我个改router的活,,,这router是拿c#写的。。。。(c#的await真香!),现在对游戏服务器的整个架构和实现算是比较了解,游戏不同于web,不同的游戏类型架构差距应该也很大,,我就拿我在的这个项目组做个简单的总结。

HBase架构浅析

Hbase是GoogleBigTable的开源实现,它的本质就是一个多维的map:map<rowkey,map<column family:qualifier,value>>,概念不作过多介绍,对于一个存储系统,我只关注这几个点,数据读的过程是怎样的?写的过程是怎样的?存储格式是怎样的?

分布式锁的几种实现方式

分布式锁作为一种多机间的同步手段在分布式环境下应用广泛,这篇文章分别用redis,etcd,zookeeper讨论一下如何实现分布式锁。

B站微服务框架自适应限流模块分析

微服务中限流模块是必不可少的,理想的情况是使系统维持在能承受的负载范围内,没有堆积请求,请求处理时间就成了一个很好地判断指标,如果请求处理的时间过长,说明发生了堆积。传统的做法可能是硬性限制qps或队列长度或者根据cpu使用率等指标限制,无法实现自适应限流,根据请求处理时间使用算法限流可以很好地自适应系统的变化。

微服务模式下如何写业务逻辑?

如今微服务模式大行其道,那么服务如何划分,服务之间到底是如何交互的,在微服务模式下开发一个业务模块是怎么实现的?以B站“开源”的代码为例,我挑了一个比较简单的业务:历史记录,分析一下微服务下的业务逻辑该怎么写。

B站直播弹幕系统goim实现分析

goim是B站的直播弹幕系统,整个的设计架构比较简洁,纯go实现。IM系统我觉得也是很经典的系统设计问题,无论做什么业务IM系统都必不可少,当然弹幕这种IM系统和传统的IM有一些区别,这篇文章简单的分析一下goim的设计。

使用C++基于protobuf实现RPC框架

实现了网络库之后,实现RPC就很简单了,重点是如何识别RPC函数和序列化消息,protobuf为我们提供了抽象,在proto文件中定义service字段它就会为我们生成RPC调用函数。

主要参考了muduo的RPC实现,纯异步。

基于ASIO实现C++网络库

项目里的网络库用了asio,看了asio的文档后感觉用asio挺好用的,很容易实现一个网络库,而且有单独的版本可以不依赖boost,我们的目标是实现一个多线程,每个线程都有一个事件循环的异步网络库。

MIT6.824 Lab1 MapReduce实现

MIT6.824是公认的分布式系统经典课程,这篇文章主要介绍Lab1 MapReduce的实现。

PhxRPC源码分析(三) RPC

RPC

最后这篇文章分析一下整体消息收发处理的逻辑。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×