zoukankan      html  css  js  c++  java
  • Chp10: Scalability and Memory Limits

    The Step-by-Step Approach

    break down a tricky problem and to solve problems using what you do know.

    Step 1: Make Believe

    Pretend that the data can all fit on one machine and there are no memory limitations. Provide the general outline for your solution.

    Step 2:  Get Real

    figure out how to logically divide the data up, and how one machine would identify where to look up a different piece of data.

    Step 3: Solve Problems

      Dividing Up Lots of Data:

    By Order of Appearance:

    By Hash Value: 1)pick some sort of key relating to the data 2)hash the key 3)mod the hash value by the number of machines 4)store data on the machine with that value

            there is no relationship between what the data represents and which machine stores data.

    By Acutal Value: reduce system latency by using information about what the data represents.

    Arbitrarily:

    Good Example: Find all documents that contains a list of words.


    10.1 build some sort of service that will be called by up to 1000 client applications to get simple end-of-day stock price information.

    We want to start off by thinking about what the different aspects we should consider in a given proposal are:

    1. Client Ease of Use: we want the service to be easy for the clients to implement and useful for them

    2. Ease for Ourselves: consider in this not only the cost of implementing, but also the cost of maintenance

    3. Flexibility for Future Demands: 

    4. Scalability and Efficiency: not to overly burden our service.

    DataBase vs XML(json) P 343


    10.2 good problem

    10.7 LRU Cache

  • 相关阅读:
    IoC模式
    开发流程与模式
    YbSoftwareFactory
    简单的FTP文件安全识别方案
    C# 通过探测邮件服务器进行Email地址有效性检验
    YbRapidSolution for WinForm 插件生成项目总体架构介绍
    lucene.net已经从孵化器毕业
    XSql 源码开放
    TCP 套接字函数和入门级TCP编程
    C#中泛型学习笔记
  • 原文地址:https://www.cnblogs.com/reynold-lei/p/3468567.html
Copyright © 2011-2022 走看看