• [杂项] 知识综合运用


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

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

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

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

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

      3. 简单性

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

      5. 可见性

      6. 可移植性

      7. 可靠性。

     

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

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

  • 相关阅读:
    PAT A1094 The Largest Generation (25 分)——树的bfs遍历
    PAT A1055 The World's Richest (25 分)——排序
    PAT A1052 Linked List Sorting (25 分)——链表,排序
    PAT A1076 Forwards on Weibo (30 分)——图的bfs
    辅导员
    辅导员面试
    C程序设计
    Excel VBA 基本概念
    Excel函数
    导入excel表的数据到数据库ssh
  • 原文地址:https://www.cnblogs.com/life91/p/3377244.html
Copyright © 2020-2023  润新知