欢迎来到天天文库
浏览记录
ID:23431054
大小:20.26 KB
页数:13页
时间:2018-11-07
《(八)高性能服务器架构设计总结4——以flamigo服务器代码为例》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、今年,共有19所高校部分外国语专业可单独招生,这些单招的试点院校将按有关规定自行组织命题和单独考试,在全国统考前提前录取(八)高性能服务器架构设计总结4——以flamigo服务器代码为例 系列目录 第01篇主线程与工作线程的分工 第02篇Reactor模式 第03篇一个服务器程序的架构介绍 第04篇如何将socket设置为非阻塞模式 第05篇如何编写高性能日志 第06篇关于网络编程的一些实用技巧和细节 第07篇开源一款即时通讯软件的源码 第08篇高性能服务器架构设计总结1 第09篇高性能服务器
2、架构设计总结2 第10篇高性能服务器架构设计总结3 第11篇高性能服务器架构设计总结4二、架构篇 一个项目的服务器端往往由很多服务组成,就算单个服务在性能上做到极致,支持的并发数量也是有限的。举个简单的例子,假如一个聊天服务器,每个用户的信息是1k,那对于一个8G的内存的机器,在不考虑其它的情况下*1024/100=1024,实际有838万,但实际这只是非常理想的情况。所以我们有时候需要需要某个服务部署多套,就单个服务的实现来讲还是《框架篇》中介绍的。 1小语种自主招生的对象主要是外语教学质量较高的普通高
3、中应届毕业生,考生被录取后,不得再报考其他高校,新生入学后也不得转入其他专业。今年,共有19所高校部分外国语专业可单独招生,这些单招的试点院校将按有关规定自行组织命题和单独考试,在全国统考前提前录取(八)高性能服务器架构设计总结4——以flamigo服务器代码为例 系列目录 第01篇主线程与工作线程的分工 第02篇Reactor模式 第03篇一个服务器程序的架构介绍 第04篇如何将socket设置为非阻塞模式 第05篇如何编写高性能日志 第06篇关于网络编程的一些实用技巧和细节 第07篇开源一款即
4、时通讯软件的源码 第08篇高性能服务器架构设计总结1 第09篇高性能服务器架构设计总结2 第10篇高性能服务器架构设计总结3 第11篇高性能服务器架构设计总结4二、架构篇 一个项目的服务器端往往由很多服务组成,就算单个服务在性能上做到极致,支持的并发数量也是有限的。举个简单的例子,假如一个聊天服务器,每个用户的信息是1k,那对于一个8G的内存的机器,在不考虑其它的情况下*1024/100=1024,实际有838万,但实际这只是非常理想的情况。所以我们有时候需要需要某个服务部署多套,就单个服务的实现来讲还
5、是《框架篇》中介绍的。 1小语种自主招生的对象主要是外语教学质量较高的普通高中应届毕业生,考生被录取后,不得再报考其他高校,新生入学后也不得转入其他专业。今年,共有19所高校部分外国语专业可单独招生,这些单招的试点院校将按有关规定自行组织命题和单独考试,在全国统考前提前录取 我们举个例子: 这是蘑菇街TeamTalk的服务器架构。 MsgServer是聊天服务,可以部署多套,每个聊天服务器启动时都会告诉loginSever和routeSever自己的ip地址和端口号,当有用户上线或者下线的时候,MsgSe
6、rver也会告诉loginSever和routeSever自己上面最新的用户数量和用户id列表。 现在一个用户需要登录,先连接loginServer,loginServer根据记录的各个MsgServer上的用户情况,返回一个最小负载的MsgServer的ip地址和端口号给客户端,客户端再利用这个ip地址和端口号去登录MsgServer。当聊天时,位于AMsgServer上的用户给另外一个用户发送消息,如果该用户不在同一个MsgServer上,MsgServer将消息转发给RouteServer,RouteSe
7、rver根据自己记录的用户id信息找到目标用户所在的MsgServer并转发给对应的MsgServer。 2小语种自主招生的对象主要是外语教学质量较高的普通高中应届毕业生,考生被录取后,不得再报考其他高校,新生入学后也不得转入其他专业。今年,共有19所高校部分外国语专业可单独招生,这些单招的试点院校将按有关规定自行组织命题和单独考试,在全国统考前提前录取 上面是分布式部署的一个例子,我们再来看另外一个例子。这个例子是单个服务的策略,实际服务器在处理网络数据的时候,如果同时有多个socket上有数据要处理,可能
8、会出现一直服务前几个socket,直到前几个socket处理完毕后再处理后面几个socket的数据。这就相当于,你去饭店吃饭,大家都点了菜,但是有些桌子上一直在上菜,而有些桌子上一直没有菜。这样肯定不好,我们来看下如何避免这种现象:1intCFtdEngine::HandlePackage(CFTDCPackage*pFTDCPackage,2
此文档下载收益归作者所有