По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Если вы планируете перейти на CentOS 8 с CentOS 7, возможно, вам придется пропустить это, потому что CentOS 8 уходит. Если вы уже используете его, вам следует подумать о переходе на CentOS Stream 8 с CentOS Linux 8. CentOS (сокращение от Community ENTerprise Operating System) - это клон системы Red Hat Enterprise Linux (RHEL). CentOS широко известна своей стабильностью и надежностью и является популярным выбором для многих провайдеров веб-хостинга. Кроме того, это шлюз для людей, которые хотят изучать RHEL бесплатно. Однако разработчики CentOS объявили, что они переключают свое внимание на CentOS Stream. Согласно официальному объявлению, CentOS Linux 8, как перестройка RHEL 8, завершится в конце 2021 года. CentOS Stream продолжится после этой даты, выступая в качестве ответвления (разработки) Red Hat Enterprise Linux. Другими словами, CentOS Stream будет скользящей предварительной версией (то есть бета-версией). Таким образом, CentOS Stream не будет повторной сборкой выпуска RHEL. Это промежуточное звено, которое будет находиться между Fedora и RHEL. Проще говоря, это больше не Fedora - RHEL - CentOS, а Fedora - CentOS - RHEL. С января 2022 года RHEL будет базироваться на CentOS, а не наоборот. Вы по-прежнему можете использовать CentOS 8 и отправлять патчи до 31 декабря 2021 года. Но CentOS 8 будет завершена рано в это же время в следующем году, и CentOS 9 не будет. Пользователи CentOS 7 не должны паниковать. CentOS 7 продлится до конца своей жизни в 2024 году. Миграция на CentOS Stream 8 с CentOS Linux 8 Прежде всего, на всякий случай сделайте резервную копию важных данных. Обновите CentOS 8 до последней доступной версии с помощью команды: $ sudo dnf update После обновления системы перезагрузите ее. Проверьте текущую версию CentOS 8 с помощью команды: $ cat /etc/redhat-release CentOS Linux release 8.3.2011 Затем включите репозиторий CentOS Stream с помощью команды: $ sudo dnf install centos-release-stream Получите примерно такой ответ Last metadata expiration check: 0:35:27 ago on Wednesday 09 December 2020 12:44:07 PM IST. Dependencies resolved. ========================================================================= Package Arch Version Repo Size ========================================================================= Installing: centos-release-stream x86_64 8.1-1.1911.0.7.el8 extras 11 k Transaction Summary ========================================================================= Install 1 Package Total download size: 11 k Installed size: 6.6 k Is this ok [y/N]: y Downloading Packages: centos-release-stream-8.1-1.1911.0.7.el8 17 kB/s | 11 kB 00:00 ------------------------------------------------------------------------- Total 5.9 kB/s | 11 kB 00:01 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : centos-release-stream-8.1-1.1911.0.7.el8.x86_ 1/1 Verifying : centos-release-stream-8.1-1.1911.0.7.el8.x86_ 1/1 Installed: centos-release-stream-8.1-1.1911.0.7.el8.x86_64 Complete! Наконец, выполните следующую команду, чтобы перенести CentOS Linux 8 на CentOS Stream 8: $ sudo dnf distro-sync Команда distro-sync выполнит необходимые обновления, откатит или оставит выбранные установленные пакеты, чтобы они соответствовали последней версии, доступной из любого включенного репозитория. Если пакет не указан, учитываются все установленные пакеты. Введите Y и нажмите ENTER, чтобы начать переход на CentOS Stream 8: Пример вывода CentOS-Stream - AppStream 521 kB/s | 6.3 MB 00:12 CentOS-Stream - Base 304 kB/s | 2.3 MB 00:07 CentOS-Stream - Extras 5.1 kB/s | 7.0 kB 00:01 Last metadata expiration check: 0:00:01 ago on Wednesday 09 December 2020 01:22:28 PM IST. Dependencies resolved. ======================================================================================================================================== Package Architecture Version Repository Size ======================================================================================================================================== Installing: centos-stream-release noarch 8.4-1.el8 Stream-BaseOS 21 k replacing centos-linux-release.noarch 8.3-1.2011.el8 replacing centos-release-stream.x86_64 8.1-1.1911.0.7.el8 Upgrading: NetworkManager x86_64 1:1.30.0-0.2.el8 Stream-BaseOS 2.5 M NetworkManager-libnm x86_64 1:1.30.0-0.2.el8 Stream-BaseOS 1.8 M NetworkManager-team x86_64 1:1.30.0-0.2.el8 Stream-BaseOS 142 k NetworkManager-tui x86_64 1:1.30.0-0.2.el8 Stream-BaseOS 322 k avahi-glib x86_64 0.7-20.el8 Stream-BaseOS 14 k avahi-libs x86_64 0.7-20.el8 Stream-BaseOS 62 k bind-export-libs x86_64 32:9.11.20-6.el8 . . . . baseos 57 k python3-subscription-manager-rhsm x86_64 1.28.5-1.el8 Stream-BaseOS 362 k subscription-manager x86_64 1.28.5-1.el8 Stream-BaseOS 1.1 M subscription-manager-rhsm-certificates x86_64 1.28.5-1.el8 Stream-BaseOS 258 k usermode x86_64 1.113-1.el8 baseos 202 k Transaction Summary ======================================================================================================================================== Install 9 Packages Upgrade 107 Packages Total download size: 205 M Is this ok [y/N]: y Это займет некоторое время, в зависимости от скорости вашего интернета. После завершения миграции CentOS Stream 8 выполните следующую команду для проверки: $ cat /etc/redhat-release CentOS Stream release 8 Если вам нужен свежий ISO-образ CentOS Stream, вы можете получить его на официальной странице.
img
В предыдущей статье мы рассмотрели развертывание сервера с помощью Terraform в Amazon облаке. Мы использовали для развертывания файл с кодом, где описали полностью наш сервер и добавили скрипт на скриптовом языке bash, чтобы создалась HTML страничка с IP адресом сервера. Сам скрипт: user_data = <<EOF #!/bin/bash apt -y update apt -y install apache2 myip=`curl http://169.254.169.254/latest/meta-data/local-ipv4` echo "<h2>WebServer with IP: $myip</h2><br> Build by Terraform!" > /var/www/html /index.html sudo service httpd start chkconfig httpd on EOF Помещение подобного скрипта в код для поднятия инстанса, не очень хорошая практика, обычно для этого используются внешние статические файлы. На это есть несколько причин, одна из них разделение ролей в команде, например. Один человек пишет Terraform код, а другой скрипты для серверов на bash если это Linux сервер или на PowerShell если сервер разворачивается под управлением операционной системой Windows. Еще одной причиной является информационная безопасность точки зрения, которой не корректно вставлять скрипт внутри терраформ кода. Для начала создадим новую директорию Lesson-3 с помощью команды mkdir Lesson-3. Теперь, создадим новый файл WebServer.tr, командой nano webserver.tr и вставим рабочий код: Далее мы можем вырезать те данные которые у нас пойдут в скрипт и сохраняем файл. Создадим еще один файл назовем его user_data.sh. Создается файл достаточно просто - nano user_data.sh. В данный файл мы вставляем вырезанный кусок скрипта. Очень важно, обратите внимание! Файл должен начинаться с #!/bin/bash данная строка указывает, что для исполнения данного файла должен использоваться скриптовый язык bash. Сохраняем. На самом деле расширение файла, создаваемого не важно, т.к мы будем использовать функцию в Terraform которая берет контент из файла и делает вставку в код, автоматически подхватывая скрипт. Далее переходим к редактированию основного файла из которого мы вырезали скрипт. Открываем его любым текстовым редактором опять - nano webserver.tr. И нам теперь необходимо вставить функцию, которая возьмет данные из файла. В общем виде данная функция будет выглядеть следующим образом: user_data = file(“./dir/myfile.txt”) В нашем случае строчка модифицируется, т.к файл лежит в той же директории, что и Terraform файл user_data = file(“user_data.sh”). Теперь, чтобы проверить, как это работает мы должны сделать первоначальную инициацию Terraform, командой terraform init. Terraform, как обычно скачает все, что ему необходимо для работы. Далее проверяем, что у нас получилось и посмотрим, какие изменения Terraform произведет. В результате мы можем видеть, что, как и в прошлый раз будет создано 2 элемента. Сервер и Группа безопасности. Далее для запуска сервера мы можем использовать стандартную команду terraform apply и на вопрос системы отвечаем утвердительно. Можно сразу увидеть, что процесс создания сервера и группы безопасности начался. Как видите процесс занял совсем небольшое время. В данном случае не более одной минуты. Если мы зайдем в консоль мы можем убедится, что инстанс поднялся. Находим присвоенный амазоном белый ip адрес, который нам позволит из интернета проверить работоспособность нашего сервера и использование статического файла в качестве нашего скрипта, т.е убедится, что у нас все заработало. И последний шаг, проверяем что наш веб сервер доступен из глобальной сети. Обращаемся к нему, через браузер по протоколу http. В данном случае - http://18.157.187.102/. Вот мы можем увидеть вот такую картину. Не забудьте выключить и удалить все не нужные вам ресурсы в Амазон, во избежание лишних затрат. Статические внешние файлы играют большую роль в написание Terraform кода, потому что они используется практически во всех проектах и постоянно нужна в работе.
img
Протоколы API, как и все в этом мире, активно развиваются. Многие компании, включая GraphQL, gRPC и Thrift, пользуются классическими API SOAP и REST. В списке этих API есть и JSON-RPC. JSON-RPC, созданный для быстрой разработки многофункциональных сайтов, быстро стал лучшим другом разработчиков. Давайте разберемся, что это такое, и в чем оно полезно специалистам по разработке приложений и API. Знакомство с JSON-RPC начинается с азов JSON. Так что первая глава данной статьи посвящена общей информации о JSON. JSON – что это такое, и как оно работает JSON – это легковесный формат обмена сообщениями, который подходит для более быстрой передачи данных. Именно поэтому он так активно используется в современной разработке. JSON (JavaScript Object Notation, или нотация объектов JavaScript) производит многократную разбивку данных до тех пор, пока они не примут удобный для обработки вид. В основе JSON лежит JavaScript, поэтому просматривая элементы данных, вы не раз встретите строки, нулевые символы, объекты и бинарные переменные. JSON разбивает сложные сопоставленные данные на управляемые структуры, облегчая обработку данных на многих языках программирования, и считается независимым от языка ресурсом. Его придумал Дуглас Крокфорд в 2000 году с целью упрощения взаимодействия между веб-приложениями и сервером. Что такое JSON RPC? JSON-RPC – это не что иное, как преемник JSON, повсеместно признанный протокол для удаленного вызова процедур (RPC - Remote Procedure Calls). Работая на уровне разработки, JSON-RPC запускает различную структуру данных, определяя задачи для приложений. Это сравнительно новый протокол с узкой областью применения.  Наборы команд, гибкость и сценарии развертывания – все работает с ограничениями. Но, тем не менее, разработчики видят в нем идеальный вариант для простой и быстрой разработки. В простых сценариях данные ограничения не являются помехой и побуждают разработчиков переходить с REST на JSON-RPC. Стоит также добавить, что: JSON-RPC определяет сетевые ограничения, связанные с обработкой данных. Легкая конструкция и быстрая обработка – все это подходит для инициации передачи данных с узлами Ethereum. Будучи транспортно-независимым протоколом, JSON-RPC может использовать для взаимодействия сокеты и HTTP. Это отличное решение для разработки решений на базе Ethereum с использованием блокчейн. В настоящий момент предлагается 2 стандарта JSON-RPC: JSON-RPC 1.0 и JSON-RPC 2.0: JSON-RPC 1.0 не хватает возможностей сразу по нескольким пунктам. Отсутствие названий параметров и пояснений к ошибкам вызывает куда больше проблем, чем кажется. Скорее уж, это метод для одноранговой передачи данных. Обновленный JSON RPC 2.0 значительно доработали, заполнив ряд пробелов предыдущей версии. Версию 1.0. заменили клиент-серверной 2.0. Кроме того, в 2.0. появились транспортные зависимости. Разумеется, со временем добавили именованные параметры. Поля урезали. Нет ID для уведомлений; в качестве ответа отправляется только результат/ошибка. В обновленной версии есть дополнительные расширения с информацией об ошибках.  Как пользоваться JSON RPC? Главная функция протокола заключается в отправке клиентских запросов на сервер (при поддержке JSON-RPC). Здесь под клиентом мы подразумеваем общепринятые приложения, которые развертываются для получения запроса от удаленной системы на консолидированный метод. Введенные параметры передаются удаленной системе в формате массива или объекта. В зависимости от используемой версии JSON-RPC, удаленная система будет отправлять в источник запроса разные итоговые значения. Все веб-передачи через JSON-RPC унифицированы и сериализированы с помощью JSON. Запрос JSON-RPC – это вызов удаленного метода. Он состоит из 3 элементов: Метод. Указывает на строку, которая будет запрашиваться при вызове метода. Существует набор зарезервированных имен с префиксом ‘rpc’ – они предназначаются для внутренних вызовов RPC. Параметры. Второй элемент JSON-RPC (объект или массив) со значением параметра, который будет переноситься. Параметры не вызываются в каждом вызове.  ID. Целое или строковое число, которое регулярно используется для поддержания баланса между запросами и ответами. Если на запрос нет ответа, то ID автоматически удаляется. В запросе JSON-RPC получатель обязан вернуться к проверенному ответу на каждый полученный запрос. Добавляются 3 компонента: Результат – первая и важнейшая часть запроса, передающая данные, которые возвращает вызываемый метод. Его часто называют JSON-stat, и при ошибке он остается пустым. Ошибка – второй компонент. Появляется, если в процессе вызова что-то идет не так. В ошибке отображаются код и сообщение. ID ответа указывает на запрос, по которому приходит ответ. Если ответов не требуется, то JSON-RPC использует уведомление, в котором написано, что запрос был без ID. В версии 1.0 ID уведомление приходит пустым, а в версии 2.0. оно полностью отсутствует. Плюсы от использования JSON-RPC JSON-RPC – это довольно «умный» протокол, который предлагает своим клиентам множество плюсов: Простая обработка JSON-RPC намного проще, чем REST. Его легко понимают люди и машины. Здесь нет сложных команд и наборов данных, так что JSON-RPC идеально подходит для начинающих разработчиков. Этот протокол Unicode предлагает компактную командную строку. Кроме того, он способен обрабатывать данные с именованными фразами или отдельными ключевыми словами. Таким образом, JSON-RPC считается простым и понятным инструментом для работы. Быстрое время разработки С JSON-RPC не надо ничего придумывать. Все источники доступны и понятны. Такая простота сокращает время разработки и сроки выхода на рынок. Это самое подходящее решение для разработки приложений в сжатые сроки. Качественный обмен информацией JSON-RPC гарантирует своевременный, быстрый и точный обмен данными, поскольку может обрабатывать уведомления и несколько вызовов. Чтобы продолжить свою работу, ему не нужно ждать ответа от сервера или клиента. Если сделан запрос сообщения, то JSON-RPC гарантированно доставит его «адресату». Не важно, насколько сложные компоненты приложения входят в цепочку коммуникации, JSON-RPC обеспечит должный обмен информацией. Улучшенная производительность API С помощью JSON-RPC можно создавать API, которые не зависят от развертываемого протокола. Такая возможность крайне важна для улучшения производительности API, т.к. заменяет HTTP и TCP, а также снижает рабочую нагрузку. Описание результатов JSON-RPC выдает понятные результаты запроса, которые легко прочитать и обработать. Создание пакетных запросов, объяснение body в HTTP и передача параметров – все это гораздо проще реализовать через JSON-RPC. Улучшенная передача JSON-RPC – это очень удобный для передачи инструмент, ведь поддерживает такие платформы, как XMPP, WebSockets, SFTP, SSH и SCP. Данное разграничение позволяет разрабатывать быстрые, простые в отладке и удобные для пользователя API. Кроме того, этот протокол полностью отделяет запрошенный контент от используемого процесса передачи. А любые ошибки в запросах, данные и предупреждения передаются через полезную информацию запроса. REST и JSON-RPC: что выбрать для разработки API?  Богатый выбор API-ресурсов – это всегда хорошо, но остановиться на каком-то одном варианте бывает не так просто. Ниже мы постараемся помочь разработчикам и объясним ключевые особенности популярных протоколов.  JSON-RPC подходит для начинающих разработчиков с ограниченным количеством ресурсов. JSON-RPC – это очень ограниченный в ресурсах протокол, который отлично выполняет свою функцию. Кроме того, если цель разработчика хоть как-то связана с технологией распределенных реестров, то единственным жизнеспособным решением станет именно JSON-RPC. С таким развертыванием не сможет справиться ни один другой протокол. Для разработки приложений, использующих технологии распределенных реестров, требуется независимый от протокола API, и JSON-RPC отлично подходит. Он позволяет разработчикам создавать API, которые могут взаимодействовать друг с другом с помощью любого протокола. Есть еще одна область, в которой JSON-RPC превосходит REST. В REST доступен ограниченный набор глаголов, что приводит к ошибкам при выполнении операции. При использовании REST необходимо подробно описать HTTP-метод, и на это тратится много времени. Кроме того, в REST доступны только CRUD-операции. Так что лучше отдавать предпочтение JSON-RPC. Тем не менее JSON-RPC нельзя назвать универсальным решением для всего. Его проблема заключается во взаимозависимости. Клиенты должны быть тесно связаны с реализацией служб, поэтому вносить изменения в эту реализацию довольно сложно. При попытке изменить что-то, клиенты чаще всего ломаются. REST решает такие задачи намного лучше. Например, API на базе REST мало того, что легко создаются, так еще и не отслеживают состояния. Этот протокол совместим с HTTP и предлагает огромное множество HTTP-библиотек. REST позволяет создавать гибкие API. Это идеальное решение для CRUD-операций. Оба протокола имеют свои плюсы и минусы. Разработчикам необходимо принять взвешенное решение, исходя из главной цели разработки. Например, если разработчику нужны высокопроизводительные вычисления, то стоит остановиться на JSON-RPC. Если требуется независимая разработка приложения с удобным интерфейсом, то смело выбирайте REST. Не стоит также забывать о безопасности API. JSON-RPC, graphql, grpc Два самых известных аналога JSON-RPC – это GraphQL и gRPC. GraphQL – это полностью адаптивная система. Она используется для точной локализации данных запроса и получения только необходимых запрашиваемых данных. Основная черта – ориентация на клиента. Сервер практически никак не участвует в веб-передаче. Клиент сам устанавливает правила для обработки запрошенных данных. GraphQL относится к языкам запросов, а JSON-RPC относится к удаленному вызову процедур. Еще есть gRPC – легковесный протокол с акцентом на производительность. Это обновленная версия RPC. В JSON-RPC серверы и клиенты договариваются о запрашиваемых данных, а архитектура не важна. А в gRPC, наоборот, запросы обрабатываются по готовой схеме. Этот протокол может выполняться в любой экосистеме. JSON-RPC интегрируется с MQTT, Python и Kallithea. Для gRPC доступны такие ресурсы, как .NET, JavaScript, C++, Swift и многие другие. Главные отличия между всеми решениями заключаются в открытости кода и удобстве для клиентов.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59