一.服务器编程框架
2016-04-26 20:28
309 查看
IO处理单元:单服务器中用于等待或者接受客户端的连接,接受客户端的数据,将服务器的响应数据传给客户端。有时候也不接受数据的读写只是将数据发生的事件交给逻辑单元(进程线程)处理。(与nginx的master-worker进程的方式有点类似);
服务器集群IO处理可以使用一个专门的接入服务器实现反向代理和负载均衡,此时后边的逻辑单位就是各种的逻辑服务器,可能是处理相同业务的此时可以实现并行,也可能不是处理相同业务的,一般在对同一个业务会在处理这个同一个业务的服务器中选择一个负载比较小的服务器让它执行逻辑(选择服务器的方式有轮训
,权值最小,其实也可以通知各个服务器自己来竞争拿到这个业务的处理权);
网络存储单元:对于单个的服务器来说这个存储可以是磁盘或者内存进程之间进行通信也就是图中的请求队列可以使用进程间的通信方式 当然当多个进程访问同一个内存中数据的时候也会存在竟态,所以也需要解决;
对于服务器集群来时这个存储可以是分布式的存储(数据同步问题),请求队列中可以使用连接池提前连接好多个tcp永久连接,可以提高服务器之间交换数据的效率也减少了建立连接所用的系统开销(一句话集群或者单机都是进程间进行通信)。
相关文章推荐
- java synchronized类锁,对象锁详解(转载)
- c++作业4
- C++作业4
- java中的反射机制,以及如何通过反射获取一个类的构造方法 ,成员变量,方法,详细。。
- JAVA——多线程举例
- c++第四次作业
- JAVA基础总结
- java并发编程--Executor框架(一)
- 面向切面编程aop
- Python实现KNN算法
- Introduction to x265 Rate Control Algorithm
- 算法竞赛入门经典(1,2章的python实现)
- django的class Meta
- Java Web防止表单重复提交
- C++第4次作业
- 综合实践报告(7)C程序源码操作(内附五套代码)
- C# 基本知识纪录
- c++第四次作业
- 第四次c++作业——代码篇
- Eclipse关联ndk-build(自建Builder方法)