Автор|Ли Лиминь (Bone Come)
Редактор | Orange Jun
Произведено | Alibaba New Retail Tao Department Технологический отдел
Как внутренняя разработка, "добавление, удаление, изменение и проверка" всегда повторяется. Эти основные операции занимают большую часть моего рабочего времени. Будет очень запутанно видеть, как другие люди становятся техническими мастерами, и личный технический уровень всегда будет остановиться на месте.. ....
Это все, что нужно, чтобы научиться? Считаете ли вы, что ваш код становится все более и более сложным по мере того, как вы работаете дольше? Как повысить эффективность загрузки и скачивания файлов? Как обеспечить передачу сообщений в режиме реального времени? Слишком много пользователей одновременно, что делать, если сервер взорвется... Слишком многому нужно научиться.
Я надеюсь, что эта статья возродит ваш энтузиазм, улучшит ваши технические способности и суждения, позволит взглянуть на ваш собственный код и технические решения с более высокой точки зрения и увидеть основные моменты и ценность технологий.
Говоря о CRUD
Интерпретируя определение CRUD, CRUD относится к аббревиатуре добавления (создания), чтения (извлечения), обновления (обновления) и удаления (удаления) при выполнении вычислений.CRUD в основном используется для описания основных операционных функций базы данных. или уровень сохраняемости в программной системе.
С точки зрения многоуровневой архитектуры программного обеспечения этот уровень определяется в отрасли как DAO (DataAccessObjects), что относится к реализации доступа к постоянным данным между бизнес-логикой и постоянными данными.
Как следует из названия, если CRUD эквивалентен разработке содержимого стека технологий для бэкенда, то это кража концепции и сводки ошибок Из ежедневной мантры большинства бэкэнд-инженеров: когда требования к продукту неясны или не особенно ценны, часто Простое определение CRUD для того, что вы делаете или в чем нуждаетесь, является своего рода «насмешкой над собой» и «пренебрежением к требованиям продукта».
Технологии продолжают развиваться
ОглядыватьсяИстория развития компьютеров,отОт автономного до сетевого компьютера, от одного приложения до распределенного приложения, Из этих двух статей мы можем увидеть быстрое развитие технологий.
От эпохи Интернета до эпохи мобильного Интернета и эпохи искусственного интеллекта ускоренное развитие аппаратного обеспечения привело к быстрой разработке программного обеспечения.Будь то традиционное программное обеспечение или программное обеспечение для Интернета, роли программного обеспечения уточнялись шаг за шагом, такие как внешний, клиентский и внутренний. Появляются алгоритмы, большие данные и другие подразделенные роли, технические проблемы, с которыми сталкивается каждая роль, и проблемная область, которую необходимо решить, переопределяются и разделяются, обязанности становятся более четкими, объем компетенций более сфокусирован и сфокусирован, а стек технологий все понятнее и понятнее.Из этого деления посмотрим, что нужно иметь бэкенду помимо CRUD?
Серверная область под айсбергом
Программные приложения подобны айсбергам: пользователь видит только крошечную часть приложения, а большая часть приложения невидима — это неуловимая и загадочная «внутренняя область».
Как обслуживающий персонал, не только оставайтесь на стороне пользователя и форме взаимодействия, но, что более важно, от пользовательской модели данных, бизнес-сценариев, бизнес-моделей, проектирования системной архитектуры, моделирования предметной области, бизнес-процессов и высокой параллелизма, высокой надежность, с точки зрения стабильности, такой как масштаб, для улучшения общего опыта и ценности продукта, а также для удовлетворения потребностей пользователей.
Back-end разработка — это разработка «back-end сервера приложений», которая в основном включает «back-end» поддержку программных систем.
Например, серверы, используемые для поддержки веб-сайтов и клиентов приложений, а также промежуточное программное обеспечение приложений между внутренними серверами, браузерами и приложениями, относятся к категории внутренних.
Проще говоря, те базовые сервисы, такие как данные и сервисы, которые вы не видите на экране, но которые используются для поддержки внешнего интерфейса и соответствующих бизнес-систем, являются основными областями внутренней разработки, которые необходимо учитывать и решать. .
Обязанности по бэкенд-разработке
Будучи студентом технического факультета, вы должны иметь полный запас навыков для стека технологий, и вам необходимо расширяться от макротехнической широты и микротехнической глубины, основываясь на бизнес-сценариях и технологических решениях и стратегиях сопоставления ценности, от Перспектива масштабируемости бизнеса Дизайн для лучшего обеспечения устойчивых возможностей доставки продуктов, уточнения соображений в процессе спроса, продуктов, исследований и разработок, качества, эксплуатации и обслуживания, операций и т. д. с точки зрения пользователей для улучшения пользовательского опыта и повышения лояльности пользователей к продуктам и, в конечном итоге, осознать ценность продукта для бизнеса.
В настоящее время развитие back-end технологий меняется с каждым днем.Одним предложением: «Никогда не прекращайте учиться».
Принимая жизненный цикл продукта в качестве цели исследований и разработок, от начала до конца линейки продуктов, потребности и проблемы различных продуктов в процессе требуют постоянных инвестиций и решений во внутреннюю разработку, а через внедрение новых технологий или технологических нововведений, повышение ценности продукта.
Например, очень популярная в настоящее время прямая трансляция электронной коммерции включает в себя возможности прямой трансляции высокой четкости, возможности распознавания лиц, возможности физического захвата в комнатах прямой трансляции, крупномасштабные возможности взаимодействия в реальном времени и возможности крупномасштабных покупок. контекстуальное богатство и интерактивность в реальном времени.
Для продуктов необходимо обеспечить 7x24 часа высокой надежности и безостановочного обслуживания.Все отвечает потребностям пользователей и предоставляет качественные услуги.Технологии приносят ценность для бизнеса.
Бэкенд-база разделена
Глядя на развитие Интернета за последние 10 лет, особенно после появления мобильного Интернета, появились продукты с сотнями миллионов пользователей DAU». удаленное многоактивное развертывание.
Запись внешнего трафика должна основываться на службе DNS для балансировки нагрузки VIP-маршрутизации и на сервере nginx в качестве обратного прокси-сервера; не только это, но и проблема состояния сеанса входа в систему и согласованность сеанса.
По мере того как бизнес-сценарии и бизнес-процессы становятся все более и более сложными, нам приходится размещать некоторую бизнес-логику в одном кластере, а другую часть бизнеса — в другом машинном кластере, и рождается «концепция микросервисной архитектуры».
Очевидно, что вычислительная мощность и вычислительная мощность системы были значительно увеличены, но связь между этими системами стала головной болью.Поэтому появились очереди сообщений и RPC-фреймворки.Для повышения эффективности связи используются различные инструменты сериализации для решить проблемы сжатия данных и эффективности.
Когда появляется большое количество больших данных, единая база данных уже не может их вместить, и она начинает разделять чтение и запись базы данных, если она все равно не работает, она будет разделена на базы данных и таблицы, потому что данные должны быть между базами данных, запросами между таблицами и распределенными транзакциями.Чтобы решить эту проблему, появились различные решения и технологии хранения.
Кроме того, с появлением технологии виртуальных машин и технологии Docker/k8s стало возможным крупномасштабное развертывание.Кроме того, с ограничением размера памяти одной машины и требованием общей памяти кластера кэш-память отделена от кластера приложений и развертывание в кластере для предоставления высококачественных услуг распределенного кэширования, а также быстрое развитие прикладных технологий, таких как servicemesh.
В то же время мультимедийные технологии становятся все более и более интерактивными и богатыми. Благодаря мощной технологии мобильных терминалов фотографии и видео можно снимать в любое время и в любом месте и загружать в облако. Сотни миллионов пользователей нуждаются в более быстрой загрузке и просмотре. в терминале На основе кэширования пограничных узлов CDN появились возможности ускорения и облачного хранилища OSS.
С быстрым ростом Интернета, особенно мобильного Интернета, и спросом на массовый сбор информации поисковые системы быстро развивались и применялись.
В последнее время, с быстрым развитием искусственного интеллекта и богатыми сценариями приложений, сквозной интеллект еще больше снизил стоимость и эффективность пользователей при получении информации, переводя пользователей с активного поиска на пассивный прием для получения ценной информации и точные рекомендации для помогать пользователям принимать решения.
Вслед за быстрым развитием 3G/4G требования к оперативности и взаимодействию в реальном времени на стороне терминала, в которых появляются сценарии приложений, такие как живое взаимодействие и обмен мгновенными сообщениями, позволяют пользователям взаимодействовать и воспринимать в режиме реального времени. Развитие инфраструктуры, особенно сетевых коммуникаций, и расширение вычислительных возможностей терминального оборудования сделали реальностью массовый доступ с мобильных устройств и сквозной доступ к вычислениям.
От традиционного Ethernet до WIFI для беспроводных локальных сетей (IEEE 802.11 b/g/n/ac), до развивающихся сотовых сетей WAN (3GPP's GSM, GPRS, UMTS, LTE, LTE-Advanced...) и даже всей глобальной сети. рост сферы Интернета вещей и эволюция терминальных технологий (Bluetooth, NFC) знаменуют собой взрывной рост всеобщего подключения устройств и разнообразие доступа к сети, особенно наступление эры Интернета вещей/5G, новую ситуацию, вызванную технологиями и взрывной рост доступа к сети Рождаются новые сценарии, и можно ожидать будущего.
Разделение внутреннего бизнеса
После разговора об основном промежуточном ПО и мобильных сериях промежуточного ПО на серверной части, как серверная часть должна быть обращена к бизнес-системе?
С технической точки зрения базовое ПО промежуточного слоя было более подробным и углубленным.С точки зрения бизнеса сначала необходимо освоить основные принципы и сценарии применения ПО промежуточного слоя, а также характеристики каждого приложения ПО промежуточного слоя.
В дополнение к техническому отбору, в качестве бизнес-серверной роли, вам необходимо сосредоточиться на анализе спроса, проектировании архитектуры системы, построении модели предметной области, качестве доставки продукта и т. д., включая популярную «большую, среднюю и малую стойку регистрации». архитектурная концепция в последние годы. Передовой бизнес будет более гибким и быстрее адаптируется к постоянно меняющемуся рынку. Zhongtai соберет возможности операционных данных и технические возможности продукта всей группы, чтобы сформировать сильную поддержку для каждого фронт-офисный бизнес.
Это правда, что на основе каждой подсистемы после разделения бэкенд-студенты также должны сосредоточиться на зависимостях приложения от восходящего и нисходящего потока, дизайне интерфейса API/SPI, основных показателях производительности, бизнес-показателях и соответствующих стратегиях управления потоком, предотвращении и контроле безопасности и т. д. , Разработайте соответствующую модель предметной области, бизнес-логику и рабочий процесс SOP в соответствии с потребностями бизнеса;
Включая принятие паттернов проектирования и выбор фреймворков, а также выбор промежуточного ПО (кэш, хранилище, файлы, сеть) и других зависимостей, контроль всего процесса релиза и качества кода, окончательное завершение релиза онлайн и более поздние операции.Процесс обслуживания, непрерывная поставка и итерация продуктов требуют дальнейших технических суждений и размышлений об эволюции, способствуют технологической эволюции и непрерывной итерации продукта, полностью учитывают технический коэффициент рентабельности инвестиций и делают правильные технические суждения в соответствии с потребностями бизнеса. развитие меняется с каждым днем.В будущем еще более необходимо внимательно следить за пульсом технологий, но также иметь глобальное видение, делать ключевые суждения и делать выбор, а также приносить пользу пользователям. изображение.png
Заправка обратных волн
Интернет-технологии менялись, технологии становились все более и более сфокусированными, а развитие внутренних технологий становилось все более изощренным и многоуровневым.
Как back-end студент, вам нужно уделять больше внимания тенденциям и направлениям отрасли, в том числе технологическому саммиту QCon, архитектурному саммиту, github и техническим сообществам.
Необходимо иметь острое обоняние и суждения за счет сочетания и применения стека технологий, делать правильные суждения и выбирать технологии, улучшать возможности продукта и способствовать развитию продукта и технологии, продолжать поставлять высококачественные продукты и сокращать доставку продукта. в условиях быстрого развития бизнеса Итеративный цикл, быстро реализовать бизнес и решить потребности пользователей.
Back-end разработка требует полной самоотдачи, способности по-настоящему понять технические принципы, лежащие в ее основе, и в то же время быть в состоянии понять по аналогии, а также быть в состоянии преобразовать каждый технологический стек в свое собственное понимание и больше не принимать «обратно». end CRUD» как простой вывод.
В будущем, в эпоху 5G, непрерывные технологические инновации будут еще более необходимы, и обязательно появятся новые бизнес-сценарии и продукты.Нам нужно хорошо поработать над техническими резервами и технологическими инновациями, чтобы справиться с новыми изменениями и вызовами. Давай, бушующие волны! Наконец, я надеюсь, что мы сможем идти в ногу со временем, внедрять технологические передовые и инновационные изменения и работать вместе!