Мы не будем обсуждать, является ли это среда PHP, JSP или .NET здесь. Мы смотрим на проблему с точки зрения архитектуры. Реализация языка не является проблемой. Преимущество языка заключается в реализации, а не в хорошем или плохом. Независимо от того, на каком языке вы выберете, архитектура должна столкнуться.
1. Обработка массивных данных
Как мы все знаем, для некоторых относительно небольших сайтов объем данных не очень большой. Выберите и обновление может решить проблемы, с которыми мы сталкиваемся. Сама нагрузка не очень большая, и не более нескольких индексов можно сделать. Для крупных сайтов объем данных в день может составлять миллионы. Если на ранней стадии не являются плохо спроектированными отношениями от многих ко многим, но по мере роста пользователя объем данных будет расти геометрически. В настоящее время, когда мы выбираем и обновляем таблицу (не говоря уже о совместном запросе нескольких таблиц), стоимость очень высока.
2. Обработка параллелизма данных
В какой -то момент у 2,0 CTO есть меч Шангфанга, который является кэшем. Для кеша это также большая проблема, когда выполняется высокая параллельная и высокая обработка. Во всем приложении кэш делится во всем мире. Однако, когда мы вносим модификации, если два или более запросов требуют обновлений кэша одновременно, приложение умирает напрямую. В настоящее время необходима хорошая стратегия обработки данных и стратегия кэширования.
Кроме того, это проблема тупика базы данных. Может быть, мы обычно не чувствуем, что вероятность возникновения тупиков в высокой параллелистике очень высока, а кэширование диска - большая проблема.
3. Проблемы хранения файлов
Для некоторых сайтов, которые поддерживают загрузку файлов 2.0, когда нам повезло, что способность жесткого диска становится больше и больше, мы должны больше рассмотреть, как файлы следует эффективно храниться и индексировать. Общее решение - хранить файлы по дате и типу. Однако, когда объем файла является массивным, если жесткий диск хранит 500 г тривиальных файлов, то IO диска является огромной проблемой во время технического обслуживания и использования. Даже если вашей полосы пропускания достаточно, ваш диск может не ответить. Если в настоящее время задействована загрузка, диск будет легко закончился.
Возможно, использование RAID и выделенных серверов хранения может решить текущую проблему, но есть другая проблема, которая является проблемой доступа в разных местах. Может быть, наш сервер находится в Пекине, может быть, в скорости доступа Юньнана или Синтенга? Если он распределен, как должны планироваться наш индекс и архитектуру файла.
Поэтому мы должны признать, что хранилище файлов является очень сложной проблемой
4. Обработка отношений данных
Мы можем легко спланировать базу данных, которая соответствует третьей нормальной нормальной жизни, которая полна отношений для многих ко многим, а также может заменить столбец сдачи на GUID. Тем не менее, в 2,0 ЭРА, когда отношения от многих ко многим затоплены, третья нормальная-первая, которая должна быть заброшена. Многоточный совместный запрос должен быть эффективно минимизирован.
5. Проблема индексации данных
Как мы все знаем, индексация является самым недорогим и простым решением для повышения запросов эффективности базы данных. Однако в случае высокого обновления стоимость обновления и удаления будет высокой и немыслимой. Автор столкнулся с ситуацией, в которой заполняется 10 минут при обновлении целенаправленного индекса, поэтому для сайта они в основном невыносимы.
Индексация и обновление - пара естественных врагов. Вопросы A, D и E - это проблемы, которые мы должны учитывать при выполнении архитектуры, а также могут быть проблемы, которые занимают больше всего времени.
6. Распределенная обработка
Для 2,0 веб -сайтов, благодаря их высокой интерактивности, эффект, достигаемый CDN, в основном 0, а контент обновляется в режиме реального времени, что является нашей обычной обработкой. Чтобы обеспечить скорость доступа в разных местах, нам нужно столкнуться с огромной проблемой, то есть как эффективно реализовать синхронизацию данных и обновить и реализовать связь с серверами в разных местах в различных местах, которая должна рассматриваться.
7. Анализ плюсов и минусов Ajax
Успех - это Ajax, отказ - это Ajax, Ajax стал основной тенденцией, и я внезапно обнаружил, что Post and Get Bounder stains xmlhttp настолько проста. Клиент получает или публикует данные на сервер, а сервер возвращается после получения запроса данных. Это очень нормальный запрос Ajax. Однако при обработке AJAX, если мы используем инструмент захвата пакетов, возврат данных и обработка данных ясны с первого взгляда. Для некоторых запросов AJAX с высоким вычислительным объемом мы можем построить подрядчика, который может легко убить веб -сервер.
8. Анализ безопасности данных
Для протокола HTTP пакеты данных передаются в простом тексте. Возможно, мы можем сказать, что мы можем использовать шифрование, но для проблемы G процесс шифрования может быть простым текстом (например, QQ, который, как мы знаем, может легко судить о его шифровании и эффективно написать подобный методу шифрования и дешифрования, подобный этому). Когда трафик вашего сайта не очень большой, никто не будет заботиться о вас, но когда ваш трафик появится, так называемые плагины и так называемая массовая отправка будут следовать одному за другим (подсказки можно увидеть из массовой отправки в начале QQ). Возможно, мы можем очень много сказать, что мы можем использовать суждения более высокого уровня или даже HTTP для достижения этого. Обратите внимание, что при выполнении этой обработки вы заплатите много затрат базы данных, ввода -вывода и процессора. Для некоторых массовых трансляций это в основном невозможно. Автор уже может реализовать массовые публикации для Baidu Space и QQ Space. Каждому не сложно попробовать это.
9. Проблемы синхронизации данных и обработки кластеров
Когда одна из наших баз данных перегружен, нам нужно выполнять нагрузки и кластеры на основе базы данных. Это может быть самой проблемной проблемой. Данные основаны на сетевой передаче. Задержка данных является ужасной проблемой и неизбежной проблемой. Таким образом, нам нужно использовать другие средства для обеспечения эффективного взаимодействия в течение нескольких секунд или более минут после этой задержки. Например, хэширование данных, сегментация, обработка контента и другие проблемы.
10. Каналы совместного использования данных и тенденции OpenAPI
Openapi стал неизбежной тенденцией, от Google, Facebook, Myspace до кампусов дома, этот вопрос рассматривается. Он может более эффективно удерживать пользователей, стимулировать больше интересов и позволить большему количеству людей, которые помогут вам сделать наиболее эффективное развитие. В настоящее время для эффективной платформы обмена данными платформа Open Data становится незаменимым способом. Обеспечение безопасности и производительности данных с открытыми интерфейсами - это еще одна проблема, которую мы должны серьезно рассмотреть.