通知:欢迎光临,有建议或发现bug,点此留言
首页> 经验> 云平台开发架构分析系列2:云平台技术架构分析

云平台开发架构分析系列2:云平台技术架构分析

2017-06-18 01:20:09 阅读:508
简介本篇从技术实现层面上整体的分析一下云平台架构实现思路。在看完解说之后,最后有一个云平台技术架构示意图,可以一下子明白怎么回事了。
    C++性能强大,而Python开发高效。C++与Python强强联合,一起征战世界!
    Python技术网
Python技术网
是C++技术网的官方兄弟网站,安全可靠,一起学习C++和Python吧。告诉你一个好消息:打开支付宝,搜索【514124385】可领红包哦,最高99元!!!,每天都可领。
    在文章《云平台项目开发分析系列1:云平台系统基本架构分析》中我们已经分析了基本架构,不过只是从整体层面讲的,并没有从技术层面做个整体的介绍,那么本篇就是介绍技术层面的整体架构。
    我们了解到一共有两个服务器,分别是TCP服务器和Web服务器。web服务器和nginx以及uwsgi配置相关,这在后续我们会详细介绍。我们主要讲解的是TCP服务器技术总体架构。
    作为TCP服务器的基本支撑的通信库,就是libuv库。libuv库的源码、编译方法等各种资料,在我们网站也就是C++技术网都有,需要的可以自己去搜索阅读。
    libuv包装了底层的socket通信,这样让我们省去了大把的时间去写底层代码。不过我们得去熟悉libuv的编程套路,需要熟悉libuv的数据结构和函数。这样也让不熟悉libuv的人也有点费劲。为了屏蔽libuv的细节,这才包装了一层TCP服务类。通过这一层的包装,我们只需要使用这个类,就可以轻松驾驭起TCP服务器。libuv的套路是处处回调。
    在TCP服务类,都已经做好了回调函数的机制。我们只需要关注两个回调函数,那就是新连接和接受数据。当有新客户端连进来的时候,会调用新连接回调函数,这样你可以在回调函数中处理新连接的逻辑,比如可以发一个欢迎的消息。当客户端发数据过来的时候,就在接受数据回调函数里回复客户端数据。那么服务器如何直接发送数据呢?这就是类中提供的发送函数send就可以搞定了。send函数就是把要发送的数据放到发送队列就行了。底层的工作就是收发数据,不需要我们上层来处理。这样一来,TCP服务器开发就变得很简单了。处理好新连接、接受数据和发送数据,一个服务器就可以了。而我们真正要做的开发就是发送的数据。这些数据是我们的业务数据,我们一般都会定义一套业务协议,我们收发的数据就是业务协议数据咯。我们只要将协议数据包正确解析出来,再将数据封装成正确的协议数据包,这就可以了。其他的代码编写就是纯粹的业务逻辑了。
    那么我们的回调函数是如何设置的呢?TCP服务端是怎么
登陆系统,查看更多
文章标题:云平台开发架构分析系列2:云平台技术架构分析
文章地址:http://www.cjjjs.com/article/2017615174841172
转载到个人博客,请在文末带上右侧内容(含超链接):本文转载自:云平台开发架构分析系列2:云平台技术架构分析

阅读排行

猜您感兴趣