Перейти к содержанию
Форум Радиодар

omega80

Administrators
  • Постов

    181
  • Зарегистрирован

  • Посещение

  • Победитель дней

    1

Весь контент omega80

  1. Содержимое файла описания #gigacommerce (Elasticsearch): # ai-elastic Aimeos ElasticSearch integration for #gigacommerce ## Support ElasticSearch versions * 7.x * 8.x ElasticSearch 5.x and 6.x are supported up to Aimeos 2020.10 LTS only. ## Configuration ### ElasticSearch server Add this to your Aimeos configuration file (Symfony requires YAML format) or without the `'resource'` key to your `resource.php` config file: ``` 'resource' => [ // if products are completely available in ES (products not in DB) 'es' => [ 'hosts' => [ '127.0.0.1:9200', ], 'index' => 'aimeos', 'SSLVerification' => false, // for self-signed certificates 'basicAuthentication' => ['elastic', '<password>'], // ElasticSearch 8+ 'selectorClass' => '\Elasticsearch\ConnectionPool\Selectors\StickyRoundRobinSelector', 'settings' => [ 'number_of_shards' => 5, // adapt to your needs 'number_of_replicas' => 0, // adapt to your needs 'max_result_window' => 10000, // maximum number of results retrieved // 'refresh_interval' => -1, // for initial indexing only ], // 'norefresh' => false, // for initial indexing only ], // if products from database are indexed in ES (products in DB and ES) 'es-index' => [ 'hosts' => [ '127.0.0.1:9200', ], 'index' => 'aimeos', 'SSLVerification' => false, // for self-signed certificates 'basicAuthentication' => ['elastic', '<password>'], // ElasticSearch 8+ 'selectorClass' => '\Elasticsearch\ConnectionPool\Selectors\StickyRoundRobinSelector', 'settings' => [ 'number_of_shards' => 5, // adapt to your needs 'number_of_replicas' => 0, // adapt to your needs 'max_result_window' => 10000, // maximum number of results retrieved // 'refresh_interval' => -1, // for initial indexing only ], // 'norefresh' => false, // for initial indexing only ], // if stock levels should be stored in ES (stock levels not in DB) 'es-stock' => [ 'hosts' => [ '127.0.0.1:9200', ], 'index' => 'aimeos_stock', 'SSLVerification' => false, // for self-signed certificates 'basicAuthentication' => ['elastic', '<password>'], // ElasticSearch 8+ 'selectorClass' => '\Elasticsearch\ConnectionPool\Selectors\StickyRoundRobinSelector', 'settings' => [ 'number_of_shards' => 5, // adapt to your needs 'number_of_replicas' => 0, // adapt to your needs 'max_result_window' => 10000, // maximum number of results retrieved // 'refresh_interval' => -1, // for initial indexing only ], // 'norefresh' => false, // for initial indexing only ] ] ``` For the number of shards, you should start with the number of CPUs of your server. As upper limit, each shard shouldn't contain much more than 50GB of data. If you have more than one ElasticSearch node, replicas are good for fault tolerance and can handle more search requests but are bad for initial indexing performance. You should better add replicas after your initial indexing is done. ### Using ElasticSearch To use ElasticSearch for index, product and stock data, add this to your Aimeos configuration file or without the `'mshop'` key to your `mshop.php` config file: ``` 'mshop' => [ 'index' => [ 'manager' => [ 'name' => 'Elastic', // Only if products are not in DB // 'name' => 'ElasticIndex', // If products exist in DB 'attribute' => [ 'name' => 'Elastic', ], 'catalog' => [ 'name' => 'Elastic', ], 'price' => [ 'name' => 'Elastic', ], 'supplier' => [ 'name' => 'Elastic', ], 'text' => [ 'name' => 'Elastic', ], ] ], // Only if products are not in DB 'product' => [ 'manager' => [ 'name' => 'Elastic', 'lists' => [ 'name' => 'Elastic', 'type' => [ 'name' => 'Elastic', ], ], 'property' => [ 'name' => 'Elastic', 'type' => [ 'name' => 'Elastic', ], ], 'type' => [ 'name' => 'Elastic', ], ] ], // Only if products are not in DB 'stock' => [ 'manager' => [ 'name' => 'Elastic', 'type' => [ 'name' => 'Elastic', ], ] ] ] ``` If you want to use ElasticSearch as secondary cache for the products in the mshop_product table, the `mshop/product/manager/elastic/only` must be set to `false` and only the index manager must be configured as `name => Elastic`. ### Additional configuration options These settings can be used to tune indexing speed: **mshop/index/manager/chunksize** (default: 10000): Number of documents sent to the ElasticSearch server in one index request during index rebuild. Higher values may result in faster indexing but requires more memory. **mshop/index/manager/elastic/maxchunks** (default: 20): Number of concurrent index requests sent to the ElasticSearch server at once. Higher values may result in faster indexing but requires more memory.
  2. Инструкция для установки Elasticsearch вручную (на серверах в России): wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.17.1-amd64.deb wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.17.1-amd64.deb.sha512 shasum -a 512 -c elasticsearch-8.17.1-amd64.deb.sha512 sudo dpkg -i elasticsearch-8.17.1-amd64.deb Ссылка: установка Elasticsearch в Debain вручную
  3. omega80

    Установка Elasticsearch

    В нашем проекте используем систему из трех серверов, один из которых будет полностью под Эластикой. Данный тип сервера будет с произвольными мощностями и основной выбор мы сделаем в сторону объема ОЗУ - чем больше, тем лучше. Данные индексов система Elasticsearch хранит в RAM, благодаря чем и происходит моментальная обработка результата в больших объемах данных. Внимание: родной репозиторий Эластики заблокирован по IP для России. Необходимо либо использовать туннели, либо устанавливать пакет вручную, либо заводить сервер, например в Нидерландах, а после настройки перекинуть обратно на территорию России (поближе к основному серверу Aimeos). Процесс установки Elasticsearch: 1) Устанавливаем публичный ключ: wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg 2) Устанавливаем пакет apt-transport-https: sudo apt-get install apt-transport-https 3) Добавляем адрес репозитория Elasticsearch: echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list 4) Обновляем список репозиториев и устанавливаем Elasticsearch: sudo apt-get update && sudo apt-get install elasticsearch Внимание: после окончания установки не забудьте сохранить выводимый на экран терминала сгенерированный пароль для встроенного суперпользователя "elastic"! (либо в последствии мы можете поменять пароль командой "elasticsearch-reset-password") 5) После установки система оповещает вас: ### NOT starting on installation, please execute the following statements to configure elasticsearch service to start automatically using systemd sudo systemctl daemon-reload sudo systemctl enable elasticsearch.service ### You can start elasticsearch service by executing sudo systemctl start elasticsearch.service Поэтому необходимо последовательно отправить команды: sudo systemctl daemon-reload sudo systemctl enable elasticsearch.service sudo systemctl start elasticsearch.service Всё, на этом эластика установлена. Для проверки статуса системы: systemctl status elasticsearch.service Для проверки работоспособности можно дать команду: curl -k --user elastic:'ktNBdiTxO3hKqASVvHyu' https://127.0.0.1:9200 , где в кавычках пароль из вашей системы Далее можно переходить к настройкам под ваши нужды. Установка, запуск, перезапуск производится командами: sudo systemctl start elasticsearch.service sudo systemctl stop elasticsearch.service sudo systemctl restart elasticsearch.service
  4. Замечательная и уникальная в своем роде система Elasticsearch. Позволяет обрабатывать огромные массивы индексов и в короткое время выдавать результат. В нашем проекте используется в качестве отдельного кэширующего сервера. По заявлениям производителя Aimeos данная связка способна крутить 1 миллиард товарных позиций с выдачей страницы до 100 мс
  5. Наиболее часто используемые команды в систему Aimeos: 1) Обновление структуры данных aimeos: php artisan aimeos:setup 2) Очистка кэша: php artisan aimeos:clear 3) Создание нового магазина (сайта): php artisan aimeos:setup название_магазина
  6. Для редактирования маршрутизации полезно выводить списки маршрутизации, для этого существует команда: php artisan route:list
  7. Дополнительная статья по настройке Debian 12 (настройка MySQL на повышенный режим безопасности): https://docs.vultr.com/how-to-install-apache-mysql-php-lamp-stack-on-debian-12
  8. Микросхема: TPS54061QDRBRQ1 Корпус: 8-SON (3x3) Производитель: Texas Instruments TPS54061QDRBRQ1 datasheet скачать: TPS54061-Q1 datasheet radiodar.PDF
  9. Это транзистор модели HE1A4A в корпусе SOT-89 производства компании Renesas. Структура: NPN Напряжение: до 60 вольт Максимальный ток: до 2 ампер Максимальная мощность: не более 2 Ватт Скачать HE1A4A GA Datasheet: he1a4a datasheet radiodar.pdf
  10. Это похож на линейник BL8530 в корпусе SOT-89-3 с тремя выводами и с напряжением на выходе 3.3 вольта. Во-вложении datasheet 8530 скачать: BL8530.pdf Стоимость в районе 10 руб/шт., но производитель отпускает только бобинами по 3000 штук - из-за одной штуки слишком накладно закупать такое количество для магазина. В любом случае, если накопится с десяток запросов на данную позицию - закупим и добавим в ассортимент ИМ "Радиодар"
  11. Силовые симисторы BTA41-800B оригинального производства HSDQ Рассчитаны на работу с напряжением до 800 вольт и током не более 40 ампер. Симистор BTA41-800B исполнен в корпусе стандарта TOP с тремя выводами, позволяющий устанавливать элемент на радиатор. ССЫЛКИ: 1) Купить: силовой симистор BTA41-800B оригинал HSDQ по цене от 128 руб/шт. в интернет магазине "Радиодар"
  12. Силовые симисторы BTA41-600B Максимальный ток симисторов BTA41-600B до 40 ампер, максимальное напряжение не более 600 вольт. Исполнение в корпусе ТОР-3 c возможностью монтажа на радиатор. ССЫЛКИ 1) Купить: оригинальные симисторы BTA41-600B производства HSDQ по цене от 104 руб/шт. в ИМ "Радиодар"
  13. Мощный симистор BTA26-800B Рассчитан на максимальный ток до 25 ампер и напряжение не более 800 вольт. Корпус типа ТОР-3 позволяет устанавливать симистор на радиатор для отвода излишков тепла. ССЫЛКИ 1) Купить: симисторы модели BTA26-800B производства HSDQ по цене от 102 руб/шт. в ИМ "Радиодар"
  14. Мощный тиристорный модуль MTC300A/1600V Допустимое максимальное напряжение до 1600 вольт и максимальный ток нагрузки до 300 ампер. ССЫЛКИ 1) Купить модуль тиристорный модели MTC300A/1600V по цене от 9680 руб./шт. в ИМ "Радиодар"
  15. Мощная модульная сборка из двух тиристоров Допустимый максимальный ток до 70 ампер, максимальное напряжение до 1600 вольт ССЫЛКИ 1) Купить: тиристорная сборка MTC70A1600V по цене от 1592 руб/шт. в ИМ "Радиодар"
  16. Тиристор модели BT151-800R в корпусе среднего типа TO-220 Тиристор BT151-800R рассчитан на максимальное напряжение до 800 вольт и максимальный ток не более 12 ампер. ССЫЛКИ 1) Купить: тиристор BT151-800R в интернет магазине "Радиодар" по цене от 30 руб/шт.
  17. Симисторы серии BTA26 от зарекомендовавшего себя качественными полупроводниками производителя HSDQ (Китай). Рассчитаны на максимальный ток до 25 ампер и напряжение до 600 вольт. Симистор выполнен в корпусе типа TOP-3 для крепления на радиатор. ССЫЛКИ 1) Купить: симисторы BTA26-600B оригинал HSDQ по цене от 93 руб/шт. в ИМ "Радиодар"
  18. Вы можете представить себе возможность публикации 1 миллиарда товаров на сайте интернет магазина? С помощью расширения Gigacommerce вы сможете сделать это! И это не преувеличение. Название: gigacommerce with ElasticSearch Цена: 899 Евро По данным статистики количества размещенных товарных позиций на сайтах (на 2024 год): на Amazon ~570 миллионов товаров на Ozon ~280 миллионов товаров на Wildberries ~190 миллионов товаров Так вот, обычная система управления сайтом CMS может обрабатывать не более 500 тысяч уникальных товарных позиций. При планировании размещения более 1 миллиона артикулов необходимо проводить громадные по объему работы по оптимизации базы данных, движка и серверов. После 10 лет работы с различными CMS системами мы вышли на производителя уникального проекта Aimeos и его мощного расширения Gigacommerce, позволяющего организовать супер мощный кэширующий сервер. Файл с описанием и краткой инструкцией: README.md Полезные команды: после внесения изменений в настройки сервера Elasticsearch необходимо перезапустить: sudo systemctl restart elasticsearch Общая оптимизированная схема проекта для первого запуска:
  19. Сама система Aimeos бесплатная, но если вы желаете расширить её возможности, то рекомендуется присмотреться к замечательным расширениям. После покупки в первый раз вам предоставляют логин и пароль для доступа к репозиторию производителя. Для добавления расширений в Aimeos необходимо: открыть файл composer.json в корне магазина (по умолчанию myshop) и добавить необходимые пакеты в раздел "requires": "aimeoscom/ai-sites": "~2024.10", "aimeoscom/ai-customergroups": "~2024.10", "aimeoscom/ai-elastic": "~2024.10" Внимание: обратите особое внимание на синтаксис, после последней строки необходимо поставить запятую и добавить ваши строки, иначе composer будет ругаться: Если вы все сделали правильно, запустите команду "composer update" и по запросу системы укажите предоставленные вам при первой продаже логин и пароль: Внимание: после завершения установки приложений не забудьте запустить команду на обновление магазина: php artisan aimeos:setup Ссылки: 1) Официальный форум Aimeos: How to add extentions (instructions)
  20. Так как в нашем проекте composer используется для системы Aimeos, поэтому разместили информацию в соответствующей ветке форума. И так, что такое composer? По сути это удобный пакетный менеджер, обеспечивающий управление зависимостями в приложениях PHP. Работа осуществляется посредством командной строки. Если своими словами - благодаря composer обеспечивается единая программная среда с необходимыми зависимостями (установка, обновления), своего рода репозиторий пакетов. Посредством менеджера composer происходит первоначальная установка и последующие работы по установке расширений и обновлений в Aimeos. Ссылки: 1) Официальный сайт: https://getcomposer.org/ 2) Описание на wiki: Composer 3) Статья на Habr: Composer для самых маленьких
  21. Достойный внимания продукт на базе FreeBSD для организации сетевой маршрутизации со множеством дополнительных функций. Ссылки: 1) Официальный сайт: https://opnsense.org/
  22. Одна из самых популярных систем виртуализации Proxmox Virtual Environment. Отличается высокой надежностью и низким потреблением ресурсов. Оставила приятное впечатление, понравилась больше чем HyperV и VMWare. Ссылки: 1) Официальный сайт: Proxmox.com 2) Статья на Habr: Магия виртуализации: вводный курс в Proxmox VE 3) Статья на WiKi: Proxmox Virtual Environment
  23. Одна из самых мощных систем для полного контроля состояния сетевых ресурсов и оборудования. Ссылки: 1) Официальный сайт: 2)
×
×
  • Создать...