高级服务器设计和实现技巧.ppt

上传人:本田雅阁 文档编号:2480387 上传时间:2019-04-02 格式:PPT 页数:23 大小:137.01KB
返回 下载 相关 举报
高级服务器设计和实现技巧.ppt_第1页
第1页 / 共23页
高级服务器设计和实现技巧.ppt_第2页
第2页 / 共23页
高级服务器设计和实现技巧.ppt_第3页
第3页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《高级服务器设计和实现技巧.ppt》由会员分享,可在线阅读,更多相关《高级服务器设计和实现技巧.ppt(23页珍藏版)》请在三一文库上搜索。

1、高级服务器设计和实现 技巧,余锋 () 2008-06-08,实现语言的选择,C/C+ Erlang Lua,C/C+的特点,优势 最大程度的挖掘硬件与系统的潜力 劣势 编码、维护困难 容易出问题,Erlang的特点,并发性 分布式 健壮性 软实时性 热代码升级 递增式代码装载 外部接口,Lua的特点,胶水语言 高性能 FP特性 体积小 非常灵活,采用成熟的网络框架,ACE libevent boost:asio,原则简单就是美,除非必要不要用非常复杂的数据结构 数组 链表 解决大部分事情 数组方便利用硬件cache 不需要为未来的东西付出代价,错误处理,严谨的错误处理 处理信号 IO出错 异

2、常 可恢复,明确的状态机和消息驱动,整个业务就是一个大的状态变迁图 一个物理链接对于一组状态机 状态的变化是消息引起的 消息是可以跟踪的,例:HTTP,插件设计,方便扩展业务 方便团队参与 接口要简单 可以考虑用脚本,定时器,大部分网络程序时间驱动的 高效的定时器管理 Wheel heap,协议设计,文本协议 二进制协议 xml RFC标准协议,协议解析,flex bison (lex & yacc) ragel lemon 合适的库 手动解析,协议加密与压缩,lzo zlib xxtea rc4 aes des 考虑到cpu 和 内存的使用,配置文件,可以用Lua这样的脚本来描述 适应经常性的变化 Unix .conf文件 ini格式,稳定性,资源预分配 不可以发生泄漏,堆积 不可使用过多资源 避免频繁的分配/释放内存(内存碎片),进程间通信(IPC),Socket 共享内存 Pipe,Cache,尽可能地Cache 从硬件-操作系统-库-应用,提高服务质量,heartbeat watchdog 类似monit监控程序,服务器性能可微调,提供简单的接口动态改变服务器关键数据 自动根据系统的资源情况来决定默认值 有统计模块做微调依据,移植性,平台移植 硬件移植 ANSI C代码 最大可移植性 网络字节序(big endian/little endian),Q & A,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1