Pull to refresh
11
0
Send message
человек с дредами — это я )
для сбора метрик с Kubernetes используем Prometeus — вся экосистема Kubernetes заточена под него.
Для графита используем реализацию на go: github.com/lomik/go-carbon
5 Каждый проект на go лежит в отдельном git репозитории, GOPATH устанавливается динамически в Makefile с основными командами сборки и т.д. Внутри проекта vendoring, пакетные менеджеры используем, но зависимости также коммитим в git. Из менеджеров пока govendor, экспериментируем с github.com/golang/dep как с будущим стандартным решением.
промахнулся мимо треда, ответ чуть ниже
Да, Kubernetes и Docker.
Как для dev, так и для prod.
В случае dev это автотесты, dev-окружения для разработки, staging, внутренние ресурсы.
В случае prod — сервисы, обрабатывающие запросы пользователей и различные демоны для обработки данных.

Клиенты — другие юниты компании. Каждый юнит отвечает за заказ hardware для своих задач, естественно, мы имеем некоторый запас на всякий случай.
1 простой самодельный rpc поверх http с сериализацией в json.
2 если правильно понял вопрос — в одном поде два контейнера — один с nginx и один с php-fpm.
3 да, чаще всего для параллельного сбора данных с разных сервисов, иногда с кешированием, а также для проверки авторизации.
Тут есть два варианта — унаследованный путь развертывания монолита и путь развертывания сервисов.
Монолит развертывается набором python-скриптов на основе библиотеки fabric.
Сервисы развертываются через CI/CD сервер в Kubernetes кластер при помощи специального пакетного менеджера helm.
Для обзорного представления можно посмотреть видео

www.youtube.com/watch?v=1KmR_O9NMpU&t=322s
Для разработки backend мы используем 4 языка: php7, python3, go, java. Каждый язык нашел свою область применения. На php пишем проекты с большим количеством бизнес-логики. go используется для высоконагруженных инфраструктурных сервисов. Часто выбор языка определяется командой, в которой он используется — если вся команда пишет на питоне, то при наличии нескольких вариантов новый сервис тоже будет на нем. Также огромную роль играет наличие библиотек — например, есть сервис использует ML, то скорее всего это будет python.
Мы используем Kubernetes для развертывания новых сервисов, соответственно, пользуемся service discovery, который он предоставляет.
Интересно. А на каких технологиях реализован сам демон? Си?
Можно работать с массивами:

$data = json_decode($json_string, true);
echo $data['diff']['name']['+++'];


Можно с объектами:

$data = json_decode($json_string);
echo $data->diff->name->{'+++'};

Насколько я могу судить, речь идет о php, когда json_decode возвращает объект класса stdClass.
В таком случае можно использовать примерно следующий синтаксис:

$str = '{"name": {"+++": "Новое название", "---": "Старое название"}}';

$obj = json_decode($str);

echo $obj->name->{'+++'};


Либо вызвать json_decode со вторым параметром, равным true, получить array и работать с ним.

Information

Rating
Does not participate
Works in
Registered
Activity