Порядок получения лицензий 1С:Предприятия веб-клиентом
Веб-клиент – особый тип клиентского приложения, предназначенный для работы через браузер. Это один из самых специфичных и ограниченных в возможностях клиентов и поэтому работу через него надо избегать.
Однако в ряде случаев особых альтернатив ему нет, например, для техники Apple или планшетов Andriod.
Получение лицензий таким клиентом имеет свои особенности и зависит от режима работы.
Для файловой базы поиск производится на компьютере, где установлен модуль расширения веб-сервера, все лицензии выдаются только в многопользовательском режиме (на сеанс):
▫️ Получение лицензии из файла программной лицензии или HASP ключа откуда была получена лицензия при последнем удачном подключении
▫️ Поиск локальной программной файловой лицензии
▫️ Поиск локального ключа HASP
▫️ Поиск сетевого ключа HASP доступного через HASP LM
Для клиент-серверных баз локальный поиск ключа на компьютере с установленным модулем расширения веб-сервера не производится, лицензия сразу запрашивается с сервера. Поиск лицензии выполняет менеджер кластера, на который назначен сервис сеансовых данных в следующем порядке:
▫️ Программная лицензия или ключ защиты HASP откуда была получена лицензия при последнем удачном подключении
▫️ Поиск локальной программной лицензии
▫️ Поиск локального клиентского ключа HASP
▫️ Поиск сетевого ключа HASP доступного через HASP LM
▫️ Программная лицензия на сервере лицензирования откуда была получена лицензия при последнем удачном запуске
▫️ Поиск программной лицензии на сервере лицензирования
При этом, если вы используете веб-клиент для подключения к файловым и клиент-серверным базам одновременно вам будет необходимо держать два комплекта лицензий на веб-сервере и сервере 1С Предприятие в количестве достаточном для запуска нужного числа сеансов.
Веб-клиент – особый тип клиентского приложения, предназначенный для работы через браузер. Это один из самых специфичных и ограниченных в возможностях клиентов и поэтому работу через него надо избегать.
Однако в ряде случаев особых альтернатив ему нет, например, для техники Apple или планшетов Andriod.
Получение лицензий таким клиентом имеет свои особенности и зависит от режима работы.
Для файловой базы поиск производится на компьютере, где установлен модуль расширения веб-сервера, все лицензии выдаются только в многопользовательском режиме (на сеанс):
▫️ Получение лицензии из файла программной лицензии или HASP ключа откуда была получена лицензия при последнем удачном подключении
▫️ Поиск локальной программной файловой лицензии
▫️ Поиск локального ключа HASP
▫️ Поиск сетевого ключа HASP доступного через HASP LM
Для клиент-серверных баз локальный поиск ключа на компьютере с установленным модулем расширения веб-сервера не производится, лицензия сразу запрашивается с сервера. Поиск лицензии выполняет менеджер кластера, на который назначен сервис сеансовых данных в следующем порядке:
▫️ Программная лицензия или ключ защиты HASP откуда была получена лицензия при последнем удачном подключении
▫️ Поиск локальной программной лицензии
▫️ Поиск локального клиентского ключа HASP
▫️ Поиск сетевого ключа HASP доступного через HASP LM
▫️ Программная лицензия на сервере лицензирования откуда была получена лицензия при последнем удачном запуске
▫️ Поиск программной лицензии на сервере лицензирования
При этом, если вы используете веб-клиент для подключения к файловым и клиент-серверным базам одновременно вам будет необходимо держать два комплекта лицензий на веб-сервере и сервере 1С Предприятие в количестве достаточном для запуска нужного числа сеансов.
👍9❤4
Как легко и просто «сломать» информационную базу 1С:Предприятие, не снимая «замочка» и ничего не понять?
А что, так можно? Не только можно, но и с завидной регулярностью случается. И называется это - расширения.
Вообще, расширения – это удобный механизм доработки конфигурации или исправления ошибок без внесения изменений в саму конфигурацию, но это если в умелых руках.
А если нет? Ну так любой инструмент несет в себе такие же опасности: молотком можно забить гвоздь, а можно отбить пальцы.
Так что не так с расширениями? У расширений есть три типа назначения, про них в документации написано следующее:
Расширение с назначением Исправление предназначено для исправления ошибок в конфигурации. Поэтому оно применяется к конфигурации первым.
Затем применяется расширение с назначением Адаптация. Оно содержит доработки конфигурации при внедрении у конкретного заказчика.
И последним применяется расширение с назначением Дополнение. Оно содержит различные дополнительные сервисы, предназначенные для конфигурации (например, набор дополнительных отчетов).
Предполагается, что расширения с одинаковым назначением не должны «пересекаться» по функционалу и «мешать друг другу».
Ключевая фраза - мешать друг другу, с оговоркой – предполагается.
Что происходит на самом деле? Допустим у нас есть код какого-либо модуля и есть расширения, затрагивающие этот модуль. При запуске 1С берет исходный код модуля и применяет к нему расширение с назначением Изменение. Тем самым получает некоторый промежуточный код, который будет содержать исправления ошибок.
Потом к этому промежуточному коду применится расширение с типом адаптация и мы снова получим некий промежуточный код.
Затем уже к нему применится дополнение, и мы получим некоторый результирующий код.
Если расширений с одним назначением несколько, то они будут применяться в том порядке, в котором были добавлены в информационную базу и изменить этот порядок нельзя.
Если стараться следовать предложенным производителем стандартам, то система получается достаточно логичной. Если исправления ошибок конфликтуют с доработками или дополнениями, то у вас отключатся последние, а исправления применятся.
Если дополнение конфликтует с доработками (адаптация), то откажется работать дополнение. Но в жизни все может быть совсем по-другому. И дополнение с типом адаптация, добавленное первым, может спокойно при обновлении сломать ваши доработки.
Но чаще всего мы получаем странные глюки и ошибки буквально из неоткуда и по абсолютно непонятной причине.
А почему? А потому что раньше процесс изменения конфигурации был делом достаточно сложным и затратным: нужно было найти программиста, заплатить ему денег, снять конфигурацию с замочка, что удорожало ее поддержку и сопровождение… Поэтому чаще всего обходились сравнительно безобидными внешними отчетами и обработками.
Если же решались на доработку, то занимался этим какой-никакой, но специалист.
Зато теперь – полная свобода самовыражения. Пошли на Инфостарт, накачали расширений и давай «прокачивать» базу. И никаких программистов не надо. Даже конфигуратор открывать не придется.
И, как часто бывает, прокачивая какое-то одно направление мы с большой вероятностью столкнемся с тем, что применяемые расширения где-то пересекаются и начинают мешать друг другу. Причем этот процесс может быть абсолютно непредсказуемым.
Например, в базе А набор расширений может работать без ошибок, а в точно такой же базе Б – глючить напропалую. А почему? А потому что расширения добавлены в разном порядке. Следовательно итоговый код будет разным, с разными последствиями.
Как быть? Да никак, расширения стали нормой жизни, их будут качать и ставить. Но всегда надо иметь это ввиду и при непонятном поведении базы сразу проверять список расширений.
Ну и стараться все-таки, хотя бы по диагонали, смотреть в код расширений, прежде чем их ставить и контролировать из пересечение. Не умеете сами – позовите специалиста.
А что, так можно? Не только можно, но и с завидной регулярностью случается. И называется это - расширения.
Вообще, расширения – это удобный механизм доработки конфигурации или исправления ошибок без внесения изменений в саму конфигурацию, но это если в умелых руках.
А если нет? Ну так любой инструмент несет в себе такие же опасности: молотком можно забить гвоздь, а можно отбить пальцы.
Так что не так с расширениями? У расширений есть три типа назначения, про них в документации написано следующее:
Расширение с назначением Исправление предназначено для исправления ошибок в конфигурации. Поэтому оно применяется к конфигурации первым.
Затем применяется расширение с назначением Адаптация. Оно содержит доработки конфигурации при внедрении у конкретного заказчика.
И последним применяется расширение с назначением Дополнение. Оно содержит различные дополнительные сервисы, предназначенные для конфигурации (например, набор дополнительных отчетов).
Предполагается, что расширения с одинаковым назначением не должны «пересекаться» по функционалу и «мешать друг другу».
Ключевая фраза - мешать друг другу, с оговоркой – предполагается.
Что происходит на самом деле? Допустим у нас есть код какого-либо модуля и есть расширения, затрагивающие этот модуль. При запуске 1С берет исходный код модуля и применяет к нему расширение с назначением Изменение. Тем самым получает некоторый промежуточный код, который будет содержать исправления ошибок.
Потом к этому промежуточному коду применится расширение с типом адаптация и мы снова получим некий промежуточный код.
Затем уже к нему применится дополнение, и мы получим некоторый результирующий код.
Если расширений с одним назначением несколько, то они будут применяться в том порядке, в котором были добавлены в информационную базу и изменить этот порядок нельзя.
Если стараться следовать предложенным производителем стандартам, то система получается достаточно логичной. Если исправления ошибок конфликтуют с доработками или дополнениями, то у вас отключатся последние, а исправления применятся.
Если дополнение конфликтует с доработками (адаптация), то откажется работать дополнение. Но в жизни все может быть совсем по-другому. И дополнение с типом адаптация, добавленное первым, может спокойно при обновлении сломать ваши доработки.
Но чаще всего мы получаем странные глюки и ошибки буквально из неоткуда и по абсолютно непонятной причине.
А почему? А потому что раньше процесс изменения конфигурации был делом достаточно сложным и затратным: нужно было найти программиста, заплатить ему денег, снять конфигурацию с замочка, что удорожало ее поддержку и сопровождение… Поэтому чаще всего обходились сравнительно безобидными внешними отчетами и обработками.
Если же решались на доработку, то занимался этим какой-никакой, но специалист.
Зато теперь – полная свобода самовыражения. Пошли на Инфостарт, накачали расширений и давай «прокачивать» базу. И никаких программистов не надо. Даже конфигуратор открывать не придется.
И, как часто бывает, прокачивая какое-то одно направление мы с большой вероятностью столкнемся с тем, что применяемые расширения где-то пересекаются и начинают мешать друг другу. Причем этот процесс может быть абсолютно непредсказуемым.
Например, в базе А набор расширений может работать без ошибок, а в точно такой же базе Б – глючить напропалую. А почему? А потому что расширения добавлены в разном порядке. Следовательно итоговый код будет разным, с разными последствиями.
Как быть? Да никак, расширения стали нормой жизни, их будут качать и ставить. Но всегда надо иметь это ввиду и при непонятном поведении базы сразу проверять список расширений.
Ну и стараться все-таки, хотя бы по диагонали, смотреть в код расширений, прежде чем их ставить и контролировать из пересечение. Не умеете сами – позовите специалиста.
❤7💯4👍3
1С:Предприятие и многопоточность. Часть 2. Файловая база
По замыслу 1С файловая база предназначена для самых-самых маленьких и имеет серьезные ограничения как по размеру, так и по количеству одновременно работающих пользователей. И очень часто негативный опыт, полученный на файловых базах, переносится на всю систему 1С:Предприятие в целом.
Но начнем мы с краткого рассмотрения типов клиентов 1С, которые можно условно разделить на толстый и тонкие (сам тонкий, веб и мобильный клиенты). Основное отличие толстого клиента в том, что толстый клиент выполняет как серверный, так и клиентский код.
С файловой базой напрямую может работать только толстый клиент. А еще толстый клиент однопоточен. Все задачи ставятся в единую очередь и исполняются в один поток, преимущественно одним ядром. И критическое значение в данном случае имеет однопоточная производительность процессора и его тактовая частота.
Но, если вы уж совсем не сэкономили на процессоре, то это не доставляет пользователю существенных неудобств. Просто потому, что масштабы выполняемых задач не те. А для одного пользователя производительности даже одного потока вполне достаточно.
Кроме основного потока толстый клиент запускает второй, дополнительный поток для работы фоновых заданий. С их помощью могут выполняться как регламентные задания, так и тяжелые, длительные операции, чтобы не блокировать работу пользователя в основном потоке.
Таким образом пользователь может запустить тяжелый отчет или обработку, а сам перейти к другим разделам программы, скажем, вводить документы. И не испытывать при этом никаких особых неудобств, так как основные тяжелые вычисления будут выполняться вторым потоком.
Но следует помнить, что дополнительный поток также один и все фоновые задания будут становиться в нем в очередь. Поэтому внимательно отнеситесь к тому, что у вас запускается в фоне, особенно к регламентным заданиям:
✅ Почему тормозит 1С. Регламентные задания
Но вся эта благодать исчезает, как только в базе появляются дополнительные пользователи. Многим знакома картина, когда производительность файловой базы резко проседает уже при подключении к ней второго пользователя.
В чем тут дело? Вспоминаем, что с данными в СУБД может работать только сервер, в нашем случае сервер – это толстый клиент. Роль СУБД выполняет файловая база, которая является полноценной базой данных собственного формата.
При запуске нескольких толстых клиентов на разных рабочих местах мы получаем несколько серверов, взаимодействующих с СУБД, это приводит не только к кратному увеличению сетевого трафика и нагрузки на дисковую подсистему хранилища файловой базы, но и появлению блокировок.
Блокировка – это специальный режим работы СУБД, когда она для избежания рассогласования информации блокирует таблицы при обращении к ним одного из клиентов и остальным приходится ждать пока таблица освободиться.
А если кто-то запустил на медленном ПК длительную операцию в транзакции, то ждать будет вся сеть.
Файловая структура только все это усугубляет. Если у нас есть пять клиентов и каждый из которых хочет получить справочник номенклатуры, то все пять серверов толстого клиента по разу скачают себе этот справочник и самостоятельно займутся его обработкой. Без всякого кеширования и повторного использования.
Поэтому в файловых базах с разделяемым по сети общим ресурсом узким местом очень быстро становится не однопоточность (точнее двухпоточность), а блокировки и избыточное количество сетевого трафика. И если со вторым еще можно бороться апгрейдом или перепланировкой сети, то блокировки надежно убивают производительность уже начиная с трех-пяти активных клиентов.
Дополнительные материалы:
🔹 1С:Предприятие и многопоточность. Часть 1. Общие вопросы
По замыслу 1С файловая база предназначена для самых-самых маленьких и имеет серьезные ограничения как по размеру, так и по количеству одновременно работающих пользователей. И очень часто негативный опыт, полученный на файловых базах, переносится на всю систему 1С:Предприятие в целом.
Но начнем мы с краткого рассмотрения типов клиентов 1С, которые можно условно разделить на толстый и тонкие (сам тонкий, веб и мобильный клиенты). Основное отличие толстого клиента в том, что толстый клиент выполняет как серверный, так и клиентский код.
С файловой базой напрямую может работать только толстый клиент. А еще толстый клиент однопоточен. Все задачи ставятся в единую очередь и исполняются в один поток, преимущественно одним ядром. И критическое значение в данном случае имеет однопоточная производительность процессора и его тактовая частота.
Но, если вы уж совсем не сэкономили на процессоре, то это не доставляет пользователю существенных неудобств. Просто потому, что масштабы выполняемых задач не те. А для одного пользователя производительности даже одного потока вполне достаточно.
Кроме основного потока толстый клиент запускает второй, дополнительный поток для работы фоновых заданий. С их помощью могут выполняться как регламентные задания, так и тяжелые, длительные операции, чтобы не блокировать работу пользователя в основном потоке.
Таким образом пользователь может запустить тяжелый отчет или обработку, а сам перейти к другим разделам программы, скажем, вводить документы. И не испытывать при этом никаких особых неудобств, так как основные тяжелые вычисления будут выполняться вторым потоком.
Но следует помнить, что дополнительный поток также один и все фоновые задания будут становиться в нем в очередь. Поэтому внимательно отнеситесь к тому, что у вас запускается в фоне, особенно к регламентным заданиям:
✅ Почему тормозит 1С. Регламентные задания
Но вся эта благодать исчезает, как только в базе появляются дополнительные пользователи. Многим знакома картина, когда производительность файловой базы резко проседает уже при подключении к ней второго пользователя.
В чем тут дело? Вспоминаем, что с данными в СУБД может работать только сервер, в нашем случае сервер – это толстый клиент. Роль СУБД выполняет файловая база, которая является полноценной базой данных собственного формата.
При запуске нескольких толстых клиентов на разных рабочих местах мы получаем несколько серверов, взаимодействующих с СУБД, это приводит не только к кратному увеличению сетевого трафика и нагрузки на дисковую подсистему хранилища файловой базы, но и появлению блокировок.
Блокировка – это специальный режим работы СУБД, когда она для избежания рассогласования информации блокирует таблицы при обращении к ним одного из клиентов и остальным приходится ждать пока таблица освободиться.
А если кто-то запустил на медленном ПК длительную операцию в транзакции, то ждать будет вся сеть.
Файловая структура только все это усугубляет. Если у нас есть пять клиентов и каждый из которых хочет получить справочник номенклатуры, то все пять серверов толстого клиента по разу скачают себе этот справочник и самостоятельно займутся его обработкой. Без всякого кеширования и повторного использования.
Поэтому в файловых базах с разделяемым по сети общим ресурсом узким местом очень быстро становится не однопоточность (точнее двухпоточность), а блокировки и избыточное количество сетевого трафика. И если со вторым еще можно бороться апгрейдом или перепланировкой сети, то блокировки надежно убивают производительность уже начиная с трех-пяти активных клиентов.
Дополнительные материалы:
🔹 1С:Предприятие и многопоточность. Часть 1. Общие вопросы
👍19❤7👀2
Amber – делаем программирование на Bash проще
Bash – достаточно сложный в освоении скриптовый язык, особенно для тех, кто не пишет на нем постоянно. Сложности вызывает как синтаксис, так и то, что язык не предоставляет никаких проверок, оставляя все на откуп программиста.
И хорошо, когда у вас есть опыт и вы сразу видите опасные моменты и умеете обкладывать их дополнительными условиями, а если нет, то ваши скрипты могут «порадовать» вас нестандартным поведением в самый неожиданный момент.
Можно ли как-то облегчить процесс написания bash-скриптов? Можно. Одним из вариантов будет использование Amber – нового высокоуровневого языка программирования с синтаксисом, основанным на ECMA Script.
Кстати, широко распространенный JavaScript также основан на спецификации ECMA Script, что облегчает освоение нового языка и снижает порог вхождения. Если вы уже писали на JavaScript, то без особого труда освоите Amber.
Но ключевой особенностью Amber является то, что он не собирается заменить собой bash, наоборот, код, написанный на Amber при компиляции, будет преобразован в bash-скрипт.
В чем еще плюсы такого подхода, кроме более простого синтаксиса? В таких фишках как type-safe и runtime-safe. Для тех, кто не в курсе попробуем объяснить на пальцах.
Bash – язык со слабой, неявной динамической типизацией. Т.е. типы переменных не задаются и зависят от их содержимого, также в процессе исполнения кода типы переменных могут меняться или неявно преобразовываться.
Например, если мы присвоили одной переменной строковое значение, а второй целочисленное, а затем сложили их, то произойдет неявное преобразование числа в строку и последующая конкатенация (сложение двух строк). Итоговая переменная также станет строкой.
Это удобно, но требует от программиста постоянного контроля и проверки типов, в противном случае возможны ошибки, причем не всегда, а в зависимости от полученных скриптом данных или результатов других вычислений.
Amber позволяет взять этот вопрос на себя и на этапе компиляции сообщить вам об ошибках используемых типов данных (type-safe) или возможных проблемах при их обработке во время исполнения программы (runtime-safe).
При том, чтобы начать писать на Amber не нужно вообще ничего, кроме плагина к VS Code, сам Amber является только компилятором и его можно установить на любой Linux или в Windows WSL.
Ближе познакомиться с продуктом можно на сайте проекта: https://amber-lang.com
Несмотря на то, что продукт еще очень молодой он уже представляет определенный интерес и заслуживает внимания.
Bash – достаточно сложный в освоении скриптовый язык, особенно для тех, кто не пишет на нем постоянно. Сложности вызывает как синтаксис, так и то, что язык не предоставляет никаких проверок, оставляя все на откуп программиста.
И хорошо, когда у вас есть опыт и вы сразу видите опасные моменты и умеете обкладывать их дополнительными условиями, а если нет, то ваши скрипты могут «порадовать» вас нестандартным поведением в самый неожиданный момент.
Можно ли как-то облегчить процесс написания bash-скриптов? Можно. Одним из вариантов будет использование Amber – нового высокоуровневого языка программирования с синтаксисом, основанным на ECMA Script.
Кстати, широко распространенный JavaScript также основан на спецификации ECMA Script, что облегчает освоение нового языка и снижает порог вхождения. Если вы уже писали на JavaScript, то без особого труда освоите Amber.
Но ключевой особенностью Amber является то, что он не собирается заменить собой bash, наоборот, код, написанный на Amber при компиляции, будет преобразован в bash-скрипт.
В чем еще плюсы такого подхода, кроме более простого синтаксиса? В таких фишках как type-safe и runtime-safe. Для тех, кто не в курсе попробуем объяснить на пальцах.
Bash – язык со слабой, неявной динамической типизацией. Т.е. типы переменных не задаются и зависят от их содержимого, также в процессе исполнения кода типы переменных могут меняться или неявно преобразовываться.
Например, если мы присвоили одной переменной строковое значение, а второй целочисленное, а затем сложили их, то произойдет неявное преобразование числа в строку и последующая конкатенация (сложение двух строк). Итоговая переменная также станет строкой.
Это удобно, но требует от программиста постоянного контроля и проверки типов, в противном случае возможны ошибки, причем не всегда, а в зависимости от полученных скриптом данных или результатов других вычислений.
Amber позволяет взять этот вопрос на себя и на этапе компиляции сообщить вам об ошибках используемых типов данных (type-safe) или возможных проблемах при их обработке во время исполнения программы (runtime-safe).
При том, чтобы начать писать на Amber не нужно вообще ничего, кроме плагина к VS Code, сам Amber является только компилятором и его можно установить на любой Linux или в Windows WSL.
Ближе познакомиться с продуктом можно на сайте проекта: https://amber-lang.com
Несмотря на то, что продукт еще очень молодой он уже представляет определенный интерес и заслуживает внимания.
👍7🫡4❤3🤣3👎1
Настраиваем терминальный сервер на Windows Server в рабочей группе
Роль терминального сервера пользуется огромной популярностью у системных администраторов самых разных по размеру предприятий, от самых маленьких, до очень больших.
Действительно, это достаточно эффективный способ организации работы пользователей и эффективного использования вычислительных ресурсов.
Но есть и определенные сложности: начиная с Windows Server 2012 компания Microsoft решила, что для развертывания терминальных служб обязательно нужен домен Active Directory.
Это не всегда приемлемо и уместно. Значит будем обходиться без домена, а как - расскажем в этой статье.
https://interface31.ru/tech_it/2021/05/nastraivaem-terminalnyy-server-na-windows-server-v-rabochey-gruppe.html
Роль терминального сервера пользуется огромной популярностью у системных администраторов самых разных по размеру предприятий, от самых маленьких, до очень больших.
Действительно, это достаточно эффективный способ организации работы пользователей и эффективного использования вычислительных ресурсов.
Но есть и определенные сложности: начиная с Windows Server 2012 компания Microsoft решила, что для развертывания терминальных служб обязательно нужен домен Active Directory.
Это не всегда приемлемо и уместно. Значит будем обходиться без домена, а как - расскажем в этой статье.
https://interface31.ru/tech_it/2021/05/nastraivaem-terminalnyy-server-na-windows-server-v-rabochey-gruppe.html
👍27🔥3❤1
Что такое объектное хранилище S3 и в чем его основные особенности.
S3 (Simple Storage Service) – объектное хранилище и одноименное API доступа разработанное компанией Amazon и в настоящее время широко используемое многими облачными провайдерами, также существуют решения для создания собственных S3 хранилищ.
Первый раз сталкиваясь с S3 многие пользователи не понимают в чем его отличия от традиционных файловых хранилищ, какие преимущества и недостатки.
Начнем с того, что S3 – это не файловое хранилище, а объектное. Что это значит? А это значит, что мы можем хранить в нем не только файлы, а вообще любые двоичные данные, в любом формате.
Ведь что такое файл? Это именованная область на диске для хранения неких данных. В зависимости от типа хранимых данных используются разные форматы файлов, но это только один из частных случаев их, данных, размещения, хотя и самый привычный.
Например, те же данные мы можем хранить в базе данных в виде отдельных записей или даже их набора. А можем вообще хранить в сыром виде на блочном устройстве в виде RAW образа, и не важно, что там внутри, для устройства хранения это будет просто набор блоков.
S3 представляет собой плоское объектное хранилище, где данные организованы по принципу ключ – значение. Ключ – это уникальный идентификатор, значение – объект. Объектом может быть все что угодно – файл, сырые или форматированные данные, в любом случае для S3 это будет некоторый набор байтов, связанный с ключом – идентификатором.
Для работы со всем этим используется протокол HTTP(S) и специальное S3 API, что серьезно упрощает работу с объектами на программном уровне. Вам не нужны клиенты, поддержка протоколов и файловых систем, просто нужно отправить запрос по HTTP и получить или разместить данные.
Такой подход прежде всего удобен для разработчиков, теперь приложению не нужно сохранять или загружать данные через промежуточную прослойку – файл, а можно напрямую разместить или получить их из хранилища.
Это удобно и для облачных провайдеров, так как позволяет сделать простую и понятную тарификацию, по объему скачанного или загруженного трафика. И, главное, такая тарификация будет предельно понятна для пользователя.
А плоская иерархия, точнее ее отсутствие, дает неограниченные возможности горизонтального масштабирования и упрощает доступ к данным на уровне хранилища, так как не требуется поддержка иерархии системы хранения и поиска по ней.
Для удобства пользователя S3 хранилище позволяют создавать псевдоиерархические структуры, т.н. контейнеры (бакеты, bucket), но на самом деле они являются всего лишь префиксами ключа и не создают никаких дополнительных сущностей в системе хранения.
Как мы уже говорили, S3 – это хранилище наборов сырых данных, каждому из объектов которого соответствует свой ключ. Любые дополнительные абстракции в виде файловых систем, файлов или папок отсутствуют. А что именно там лежит – хранилищу абсолютно неинтересно, набор байтов он и в Африке набор байтов.
Собственно, исходя из этого и следует рассматривать плюсы и минусы хранилищ S3. При этом всегда следует отталкиваться от решаемых задач, потому что одни и те же особенности S3 могут быть как плюсами, так и минусами.
И разворачивая S3 локально также следует понимать с какой целью и для каких задач вы это делаете. Потому как это не замена файловому серверу или облачному хранилищу, а совершенно отдельная сущность, предоставляющая простой доступ к объектам и их хранение в любых объемах без лишних накладных расходов и без ограничения по форматам и размерам.
S3 (Simple Storage Service) – объектное хранилище и одноименное API доступа разработанное компанией Amazon и в настоящее время широко используемое многими облачными провайдерами, также существуют решения для создания собственных S3 хранилищ.
Первый раз сталкиваясь с S3 многие пользователи не понимают в чем его отличия от традиционных файловых хранилищ, какие преимущества и недостатки.
Начнем с того, что S3 – это не файловое хранилище, а объектное. Что это значит? А это значит, что мы можем хранить в нем не только файлы, а вообще любые двоичные данные, в любом формате.
Ведь что такое файл? Это именованная область на диске для хранения неких данных. В зависимости от типа хранимых данных используются разные форматы файлов, но это только один из частных случаев их, данных, размещения, хотя и самый привычный.
Например, те же данные мы можем хранить в базе данных в виде отдельных записей или даже их набора. А можем вообще хранить в сыром виде на блочном устройстве в виде RAW образа, и не важно, что там внутри, для устройства хранения это будет просто набор блоков.
S3 представляет собой плоское объектное хранилище, где данные организованы по принципу ключ – значение. Ключ – это уникальный идентификатор, значение – объект. Объектом может быть все что угодно – файл, сырые или форматированные данные, в любом случае для S3 это будет некоторый набор байтов, связанный с ключом – идентификатором.
Для работы со всем этим используется протокол HTTP(S) и специальное S3 API, что серьезно упрощает работу с объектами на программном уровне. Вам не нужны клиенты, поддержка протоколов и файловых систем, просто нужно отправить запрос по HTTP и получить или разместить данные.
Такой подход прежде всего удобен для разработчиков, теперь приложению не нужно сохранять или загружать данные через промежуточную прослойку – файл, а можно напрямую разместить или получить их из хранилища.
Это удобно и для облачных провайдеров, так как позволяет сделать простую и понятную тарификацию, по объему скачанного или загруженного трафика. И, главное, такая тарификация будет предельно понятна для пользователя.
А плоская иерархия, точнее ее отсутствие, дает неограниченные возможности горизонтального масштабирования и упрощает доступ к данным на уровне хранилища, так как не требуется поддержка иерархии системы хранения и поиска по ней.
Для удобства пользователя S3 хранилище позволяют создавать псевдоиерархические структуры, т.н. контейнеры (бакеты, bucket), но на самом деле они являются всего лишь префиксами ключа и не создают никаких дополнительных сущностей в системе хранения.
Как мы уже говорили, S3 – это хранилище наборов сырых данных, каждому из объектов которого соответствует свой ключ. Любые дополнительные абстракции в виде файловых систем, файлов или папок отсутствуют. А что именно там лежит – хранилищу абсолютно неинтересно, набор байтов он и в Африке набор байтов.
Собственно, исходя из этого и следует рассматривать плюсы и минусы хранилищ S3. При этом всегда следует отталкиваться от решаемых задач, потому что одни и те же особенности S3 могут быть как плюсами, так и минусами.
И разворачивая S3 локально также следует понимать с какой целью и для каких задач вы это делаете. Потому как это не замена файловому серверу или облачному хранилищу, а совершенно отдельная сущность, предоставляющая простой доступ к объектам и их хранение в любых объемах без лишних накладных расходов и без ограничения по форматам и размерам.
1❤17👍7
Приглашаем к тестированию Помощника установки и обновления сервера 1С:Предприятие для Linux v.2
Помощник реализует все функции прошлой версии, которые описаны в нашей статье:
🔹 Помощник установки и обновления сервера 1С:Предприятие для Linux
Кроме этого новая версия предоставляет следующие возможности:
▫️ Псевдографический режим работы TUI
▫️ Проверка запуска с правами root
▫️ Проверка поддерживаемой архитектуры (только amd64)
▫️ Проверка свободного места
▫️ Начиная с платформы 8.3.24 включена автоматическая установка внешних зависимостей инсталлятором
▫️При выборе установки модуля расширения веб-сервера предлагается установить Apache (при его отсутствии)
▫️ Удаление дистрибутивов (в т.ч. распакованных компонент) после работы скрипта
Также исправлены найденные ошибки.
Цели тестирования:
1️⃣ Проверка основных функций скрипта (установка, обновление, удаление, управление отладкой)
2️⃣ Проверка корректной работы на всех поддерживаемых платформах
3️⃣ Проверка корректной работы с зависимостями. При получении сообщения как на скриншоте 2 просьба сохранить и прислать его (файл содержит вывод команды hostnamectl)
4️⃣ Получение обратной связи
Поддерживаемые платформы:
✅ Astra Linux Special Edition 1.6, 1.7, 1.8
✅ Debian 10, 11, 12
✅ Ubuntu 20.04, 22.04 LTS, 24.04 LTS
✅ Mint 20, 21, 22
👇 Скрипт находится в первом комментарии к сообщению
Помощник реализует все функции прошлой версии, которые описаны в нашей статье:
🔹 Помощник установки и обновления сервера 1С:Предприятие для Linux
Кроме этого новая версия предоставляет следующие возможности:
▫️ Псевдографический режим работы TUI
▫️ Проверка запуска с правами root
▫️ Проверка поддерживаемой архитектуры (только amd64)
▫️ Проверка свободного места
▫️ Начиная с платформы 8.3.24 включена автоматическая установка внешних зависимостей инсталлятором
▫️При выборе установки модуля расширения веб-сервера предлагается установить Apache (при его отсутствии)
▫️ Удаление дистрибутивов (в т.ч. распакованных компонент) после работы скрипта
Также исправлены найденные ошибки.
Цели тестирования:
1️⃣ Проверка основных функций скрипта (установка, обновление, удаление, управление отладкой)
2️⃣ Проверка корректной работы на всех поддерживаемых платформах
3️⃣ Проверка корректной работы с зависимостями. При получении сообщения как на скриншоте 2 просьба сохранить и прислать его (файл содержит вывод команды hostnamectl)
4️⃣ Получение обратной связи
Поддерживаемые платформы:
✅ Astra Linux Special Edition 1.6, 1.7, 1.8
✅ Debian 10, 11, 12
✅ Ubuntu 20.04, 22.04 LTS, 24.04 LTS
✅ Mint 20, 21, 22
👇 Скрипт находится в первом комментарии к сообщению
2🔥19👍4
Какие еще поддерживаемые платформы вы бы хотели видеть в Помощнике v.2 (можно выбрать несколько ответов)
Anonymous Poll
39%
Альт
34%
РЕД ОС
14%
RHEL / EL
4%
Другие (в комментариях)
32%
Посмотреть ответы
❤1
Прячем секреты приложения. Как Kubernetes помогает защитить ваши данные?
Разберём на бесплатном вебинаре в учебном центре Слёрм!
Виталий Лихачев, SRE в нидерландском тревелтехе и Максим Киселев, руководитель разработки Deckhouse Stronghold встретятся, чтобы обсудить:
🔵 Как правильно спроектировать приложение, чтобы оно безопасно получало конфигурацию при работе в Kubernetes
🔵Как избежать утечек секретов
🔵Почему хранить секреты в Vault безопаснее, чем где-то еще
🔵Что делать, если часть конфигурации — это конфиденциальная информация.
📆 Когда: 27 августа в 19:00 мск
Разработчики, подключайтесь. Пообщаемся, поспорим и разберём реальные кейсы🔥
👉 Занять место на вебинаре и получить напоминание о встрече — в боте.
#реклама
О рекламодателе
erid: 2W5zFGn2jWp
Разберём на бесплатном вебинаре в учебном центре Слёрм!
Виталий Лихачев, SRE в нидерландском тревелтехе и Максим Киселев, руководитель разработки Deckhouse Stronghold встретятся, чтобы обсудить:
🔵 Как правильно спроектировать приложение, чтобы оно безопасно получало конфигурацию при работе в Kubernetes
🔵Как избежать утечек секретов
🔵Почему хранить секреты в Vault безопаснее, чем где-то еще
🔵Что делать, если часть конфигурации — это конфиденциальная информация.
📆 Когда: 27 августа в 19:00 мск
Разработчики, подключайтесь. Пообщаемся, поспорим и разберём реальные кейсы🔥
👉 Занять место на вебинаре и получить напоминание о встрече — в боте.
#реклама
О рекламодателе
erid: 2W5zFGn2jWp
1С:Предприятие и многопоточность. Часть 3. Файловая база и тонкий клиент
В комментариях был задан один интересный вопрос: а как быть с тонким клиентом для файловой базы? Действительно, такой есть и используется в современных платформах по умолчанию. А мы только недавно писали, что с файловой базой может работать только толстый клиент.
Но никакого противоречия здесь нет. Потому что тонкий клиент для файловой базы, скажем так, «ненастоящий». И если вы скачаете отдельно дистрибутив тонкого клиента (проигнорировав предупреждение) то работать он с файловой базой не будет. Вам придется полноценно установить платформу.
Тонкий клиент, как мы помним, выполняет роль фронтенда, т.е. выполняет только тот код, который в 1С предназначен для выполнения на клиенте. Это отображение данных, обработка ввода и несложные вычисления. Скажем, если вы изменили в строке количество или цену, то для подсчета суммы вызывать сервер необязательно.
Всё взаимодействие с базой данных выполняет сервер (бэкенд), основное отличие толстого клиента как раз в том, что он выполняет код как клиента, так и сервера и может работать с СУБД, в роли которой выступает файловая база напрямую.
Если же мы запускаем для работы с файловой базой тонкий клиент, то одновременно с ним на ПК запускается специализированная серверная среда, которая выполняет для тонкого клиента роль сервера и выполняет все основные вычисления и взаимодействие с файловой базы.
С точки зрения внешнего наблюдателя отдельного процесса специализированная серверная среда не запускает и выполняется в рамках запущенного тонким клиентом процесса. Т.е. с точки зрения ОС ничего не меняется, у нас как был один активный процесс, так и остался. И поведение такой связки мало чем отличается от поведения толстого клиента.
Если смотреть во внутреннюю кухню, то получим тот же самый единственный поток выполнения серверного кода и поток выполнения фоновых заданий. Да, тонкий клиент добавит отдельный поток для выполнения кода на клиенте, но никакой погоды это не делает, так как клиентские вызовы не выполняются одновременно с серверными, а фоновые задания и так в отдельном потоке.
Т.е. по факту многопоточности и вычислений никакой разницы между толстым и тонким клиентом при работе с файловой базой нет. Так в чем же разница и почему современные системы запускают именно тонкий клиент?
А сделано это для унификации поведения файловой и клиент-серверных конфигураций, вплоть до воспроизводимости ошибок. Это может быть не очень важно для пользователя, но важно для разработчиков и сопровождающих.
Толстый клиент при исполнении кода игнорирует директивы компиляции и выполняет его в едином контексте, где допустим вызов любых процедур и использование любых методов, это чревато тем, что код может содержать ошибки, которые приведут к невозможности работы в клиент-серверном варианте.
К наиболее грубым и часто встречающимся ошибкам относится использование на клиенте серверных методов, например, для прямого доступа к данным. Реже – вызов клиентских методов на сервере.
Это может привести к тому, что код, написанный неопытным программистом, может нормально работать в файловом режиме в толстом клиенте и оказаться полностью неработоспособным при переходе на клиент-серверную схему.
Особенно остро встает этот вопрос при переносе на платформу 8.3 старого кода, написанного для обычных форм или вообще для 7.7.
Поэтому было решено унифицировать работу и использовать для работы с файловой базой такую же трехзвенную схему. Теперь подобные ошибки будут одинаково проявляться как в файловом, так и клиент-серверном вариантах работы. И по этой же причине многие сторонние обработки могут требовать именно толстого клиента.
Дополнительные материалы:
🔹 1С:Предприятие и многопоточность. Часть 1. Общие вопросы
🔹 1С:Предприятие и многопоточность. Часть 2. Файловая база
В комментариях был задан один интересный вопрос: а как быть с тонким клиентом для файловой базы? Действительно, такой есть и используется в современных платформах по умолчанию. А мы только недавно писали, что с файловой базой может работать только толстый клиент.
Но никакого противоречия здесь нет. Потому что тонкий клиент для файловой базы, скажем так, «ненастоящий». И если вы скачаете отдельно дистрибутив тонкого клиента (проигнорировав предупреждение) то работать он с файловой базой не будет. Вам придется полноценно установить платформу.
Тонкий клиент, как мы помним, выполняет роль фронтенда, т.е. выполняет только тот код, который в 1С предназначен для выполнения на клиенте. Это отображение данных, обработка ввода и несложные вычисления. Скажем, если вы изменили в строке количество или цену, то для подсчета суммы вызывать сервер необязательно.
Всё взаимодействие с базой данных выполняет сервер (бэкенд), основное отличие толстого клиента как раз в том, что он выполняет код как клиента, так и сервера и может работать с СУБД, в роли которой выступает файловая база напрямую.
Если же мы запускаем для работы с файловой базой тонкий клиент, то одновременно с ним на ПК запускается специализированная серверная среда, которая выполняет для тонкого клиента роль сервера и выполняет все основные вычисления и взаимодействие с файловой базы.
С точки зрения внешнего наблюдателя отдельного процесса специализированная серверная среда не запускает и выполняется в рамках запущенного тонким клиентом процесса. Т.е. с точки зрения ОС ничего не меняется, у нас как был один активный процесс, так и остался. И поведение такой связки мало чем отличается от поведения толстого клиента.
Если смотреть во внутреннюю кухню, то получим тот же самый единственный поток выполнения серверного кода и поток выполнения фоновых заданий. Да, тонкий клиент добавит отдельный поток для выполнения кода на клиенте, но никакой погоды это не делает, так как клиентские вызовы не выполняются одновременно с серверными, а фоновые задания и так в отдельном потоке.
Т.е. по факту многопоточности и вычислений никакой разницы между толстым и тонким клиентом при работе с файловой базой нет. Так в чем же разница и почему современные системы запускают именно тонкий клиент?
А сделано это для унификации поведения файловой и клиент-серверных конфигураций, вплоть до воспроизводимости ошибок. Это может быть не очень важно для пользователя, но важно для разработчиков и сопровождающих.
Толстый клиент при исполнении кода игнорирует директивы компиляции и выполняет его в едином контексте, где допустим вызов любых процедур и использование любых методов, это чревато тем, что код может содержать ошибки, которые приведут к невозможности работы в клиент-серверном варианте.
К наиболее грубым и часто встречающимся ошибкам относится использование на клиенте серверных методов, например, для прямого доступа к данным. Реже – вызов клиентских методов на сервере.
Это может привести к тому, что код, написанный неопытным программистом, может нормально работать в файловом режиме в толстом клиенте и оказаться полностью неработоспособным при переходе на клиент-серверную схему.
Особенно остро встает этот вопрос при переносе на платформу 8.3 старого кода, написанного для обычных форм или вообще для 7.7.
Поэтому было решено унифицировать работу и использовать для работы с файловой базой такую же трехзвенную схему. Теперь подобные ошибки будут одинаково проявляться как в файловом, так и клиент-серверном вариантах работы. И по этой же причине многие сторонние обработки могут требовать именно толстого клиента.
Дополнительные материалы:
🔹 1С:Предприятие и многопоточность. Часть 1. Общие вопросы
🔹 1С:Предприятие и многопоточность. Часть 2. Файловая база
👍9
This media is not supported in your browser
VIEW IN TELEGRAM
ChatGPT-5, Midjourney 7.0, Kling 2.1 и куча нейросетей в одном боте. На 30% дешевле, чем официально или в других сервисах.
За 1 рубль ты получаешь 100 000 токенов. Этого хватит на:
• 600+ чатов с ChatGPT,
• 100 фото-генераций,
• 10 видео в Kling или Luma,
• и десятки других инструментов.
Попробовать можно бесплатно.
AicomboPRO
Реклама. Васьков М.Л. ИНН 774336060460.
За 1 рубль ты получаешь 100 000 токенов. Этого хватит на:
• 600+ чатов с ChatGPT,
• 100 фото-генераций,
• 10 видео в Kling или Luma,
• и десятки других инструментов.
Попробовать можно бесплатно.
AicomboPRO
Реклама. Васьков М.Л. ИНН 774336060460.