byon с физической машиной, SLA является глобальным, как сделать так, чтобы приложения не устанавливались на одну и ту же машину

У меня есть такой сценарий:

У меня есть приложения A,B,C,D..., и у меня есть физические машины M,N,O,P,Q...

Я использую byon для управления физической машиной, потому что физическая машина «сильная», поэтому я хочу развернуть на ней несколько приложений, поэтому я установил глобальное соглашение об уровне обслуживания, в это время у меня есть вопрос: когда приложение A развертывается на машине M, я развертываю другое приложение B, C, D..., приложение A, B, C, D... будет установлено только на машине M, а не на машине N, O, P, Q...( в этом случае давление хоста А будет очень большим.) Существует ли эта проблема, если существует, то как ее решить? большое спасибо!


person yzet    schedule 18.12.2014    source источник


Ответы (1)


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

Синтаксис:

isolationSLA {      
    global { 
        instanceCpuCores 0
        instanceMemoryMB 128 // each instance needs 128MB allocated for it on the VM.
        useManagement true // Enables installing services on the management server. Defaults to false.
    }

Обратите внимание, что приведенный выше код также позволяет устанавливать службы на самой управляющей машине, для которой вы можете установить значение false.

Более подробное объяснение доступно здесь в разделе "Соглашение об уровне обслуживания изоляции".

person Noa Kuperberg    schedule 22.12.2014
comment
Я установил это SLA в jetty-service.groovy изоляцииSLA { global { instanceCpuCores 0 instanceMemoryMB 256 useManagement false } } Но когда я развертываю приложение с 2 экземплярами, то два экземпляра устанавливаются на одном компьютере, наконец, результатом является запуск одного экземпляра успешный, но другой запуск не удался, неудачный запуск получает исключение: не найдено пространство управления. Я нахожу это исключение в org.cloudifysource.utilitydomain.context.kvstore.AttributesFacadeImpl.getManagementSpace(), исключение на картинке: i.stack.imgur.com/9MVF9.png - person yzet; 06.01.2015