摘要:
文章简介 运用Thrift的TNonblockingServer编写C++实践案例。 Thrift服务端编程 从Thrift-0.12.0版本的C++源代码来看服务端编程主要有:多线程模型,一个新的客户端连接创建一个线程处理;多线程线程池模型,将新的客户端连接放入任务队列中由线程池读取处理;事件驱动 阅读全文
摘要:
文章简介 从Thrift的C++源代码中看,thrift的设计思想,讨论跨语言优质RPC解决方案。 Thrift的诞生背景 Thrift的诞生时间大概断定为2007年左右,随着Facebook网站流量的增加和站点功能的日益丰富,已经远远超出了原有LAMP架构的处理能力,对系统服务的可伸缩性和高性能提 阅读全文
摘要:
设计思路 在与多个系统进行网络交互时,序列化是不可缺少的技术。编写一个C++语言的序列化实现,是练习运用模板元编程的绝佳案例,理解C++模板是如何"面向编译期编程"的(业内好像没有这个说法)。序列化对象处理基础数据类型和类类型,boost的序列化功能划分得更细致,基本支持了C++语言的序列化,但是在业务开发中,支持这两种已经足够用了。对于基础数据类型的序列化,需要合理组织序列化的协议格式;对于... 阅读全文
摘要:
在计算机科学的数据存储中,序列化是将数据结构或对象状态转换为,可以被存储(例如,在文件或者内存中)或者被传递(例如,网络通讯)的格式,并且后续能被重新转换构建(可能在不同的计算器环境)。——摘自(翻译)维基百科 文章概要 本文参考Boost序列化官方文档,主要内容包括Boost序列化的背景、目标、设计思想和疑难问题,了解Boost序列化的设计思想。 Boost序列化的背景 ... 阅读全文