zoukankan      html  css  js  c++  java
  • [杂项] 知识综合运用

      题目:如何设计一个每秒百万级访问量的互联网服务器,每个服务器均包含数据计算和I/O操作。

      提示:互联网服务器是一个7*24*365*N的运行程序,类似于一种远程计算机结构。用户在服务器端的信息时,实际上就是把服务器端的信息通过网络复制到客户端上,并通过客户端的相关软件展现出来。

      考虑因素(参考书籍《深入理解Nginx模块开发与架构解析》):

      1. 性能,包括网络性能,单次请求的延迟性,网络效率;

      2. 可伸缩性:指架构可以通过添加组件来升级服务,或者允许组件之间具有交互功能。

      3. 简单性

      4. 可修改性,包括可进化型,可扩展性,可定制性,可配置型,可重用性。

      5. 可见性

      6. 可移植性

      7. 可靠性。

     

      个人的想法,服务器是一个生产者-消费者模型的进化版本。设计一个服务器是对很多知识的融合,例如操作系统,服务器程序所运行的平台,架构知识,网络知识以及资源的合理管理。

      I/O多路复用技术(Linux下的epoll/poll/select),池技术(包括进程池,线程池,内存池),缓存技术,多线程/多进程技术等相关知识。

  • 相关阅读:
    Unity3D脚本使用:物体调用物体
    Unity3D脚本使用:游戏对象访问
    Unity3D 浏览工具
    spring的工厂方法
    spring运用的设计模式
    Jquery ajax 与 lazyload的混合使用(实现图片异步加载)
    关于线程安全的一点总结
    lazyload的使用心得
    ajax原理及应用
    $.ajax和$.load的区别
  • 原文地址:https://www.cnblogs.com/life91/p/3377244.html
Copyright © 2011-2022 走看看