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

  • 相关阅读:
    Pycharm创建Django项目示例
    Window下MyCat的下载与安装
    Python中使用xlrd、xlwt、xlutils读写Excel文件
    循环队列(Java实现)
    oracle 创建表
    win10 删除文件卡在99%
    python xx005文件操作
    python xx004集合
    python xx003字典
    不理解
  • 原文地址:https://www.cnblogs.com/life91/p/3377244.html
Copyright © 2011-2022 走看看