Вопрос о перечислениях, определенных в классе в Java

В принципе, рабочая нагрузка хорошо подходит для Kubernetes. Вы можете настроить Kubernetes CronJob для запуска каждого вида работника один раз в час; вы бы создали отдельный CronJob с отдельными переменными среды или параметрами командной строки для каждого вида рабочей нагрузки; при условии, что у вас есть реестр изображений Docker (например, GCR ), вы можете запустить любой пользовательский образ Docker.

Единственная хитрость в том, что вы говорите о масштабировании контейнеров вверх и вниз, но в GKE вы платите за узлов . В GKE кластерный автоскалер автоматически создаст и удалит узлы для вас. Часто задаваемые вопросы звучат так, будто быстрое увеличение немного более важно для них, чем уменьшение, с целью получения достаточной мощности для запуска всего в течение 60 секунд. Это уменьшит количество узлов, которые используются менее чем на 50% в течение 10 минут .

Если запланированные задания составляют значительную долю от общей рабочей нагрузки, то, возможно, это приведет к тому, что узлы будут ускоряться и замедляться с, возможно, средним коэффициентом использования на 50%, с новым увеличением каждый час. Это также отвечает вашим требованиям к выставлению счетов (или, по крайней мере, лучше, чем постоянный запуск всего кластера). Документация по ценам GKE гласит:

GKE использует экземпляры Google Compute Engine для узлов в кластере. За каждый из этих экземпляров выставляется счет в соответствии с расценками Compute Engine, пока узлы не будут удалены. Ресурсы Compute Engine оплачиваются посекундно с минимальной стоимостью использования 1 минуты.

blockquote>

Если стоимость является основным фактором, оптимальным является ситуация, когда у вас никогда не будет свободного узла. Самый простой способ сделать это - запустить выделенный экземпляр GCE для каждой задачи, а затем уничтожить его по завершении задачи. GCE поддерживает косвенно запущенные контейнеры на экземплярах , которые могут хорошо подойти для вашей задачи; Вы должны будете предоставить свой собственный планировщик заданий и дать ему возможность покупать и закрывать экземпляры GCE. Тогда это становится компромиссом того, сколько денег вы хотите потратить на разработку индивидуального решения, и сколько денег вы хотите потратить на облачные ресурсы.

6
задан Vasil 4 May 2009 в 05:49
поделиться

4 ответа

Весь код внутри одного внешнего класса может получить доступ ко всему в этом внешнем классе, независимо от уровня доступа.

11
ответ дан 8 December 2019 в 12:22
поделиться

Аналогично, внутренний класс может получить доступ к закрытым членам своего внешнего класса.

0
ответ дан 8 December 2019 в 12:22
поделиться

Подробнее о том, что сказал степанчег:

Из раздела Спецификации языка Java 6.6.1 «Определение доступности» :

, если член или конструктор объявлен закрытым, то доступ разрешено, если и только если это происходит в теле класса верхнего уровня который включает в себя декларацию член или конструктор.

По сути, private не означает приватный для этого класса, он означает приватный для класса верхнего уровня.

5
ответ дан 8 December 2019 в 12:22
поделиться

Первая строка проверки 12

  System.out.println(Suits.NOTRUMP.getBidValue(3)); 

getBidValue не определена

3
ответ дан 8 December 2019 в 12:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: