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),池技术(包括进程池,线程池,内存池),缓存技术,多线程/多进程技术等相关知识。

  • 相关阅读:
    Table XXX is marked as crashed and should be repaired问题
    冗余带来的麻烦
    thinkPHP模板引擎案例
    css案例学习之float浮动
    css案例学习之父子块的margin
    block,inline和inline-block概念和区别
    css案例学习之div与span的区别
    css案例学习之盒子模型
    css案例学习之层叠样式
    css案例学习之继承关系
  • 原文地址:https://www.cnblogs.com/life91/p/3377244.html
Copyright © 2011-2022 走看看