BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 23 июн 2025, 01:14

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: ActiveMQ и второй биллинг
СообщениеДобавлено: 02 ноя 2010, 07:05 
Добрый день

Для теста хотел установить второй сервер биллинга на тойже машине где основной. А скажите, будут оба биллинга работать через один ActivMQ или надо второй ставить на других портах?


Вернуться к началу
  
 
 Заголовок сообщения: Re: ActiveMQ и второй биллинг
СообщениеДобавлено: 02 ноя 2010, 07:33 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Можно поднять другой брокер на том же сервере ActiveMQ как копию первого, но с другими портами:
- Копируем целиком узел <broker> в activemq.conf
- В первом брокере меняем
Код:
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="activeMQ" dataDirectory="${activemq.base}/data">

на
Код:
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="activeMQBG1" dataDirectory="${activemq.base}/data/bg1">

- Во втором:
Код:
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="activeMQBG2" dataDirectory="${activemq.base}/data/bg2">

- Убираем узел <networkConnectors> (вы же не планируете использовать сеть брокеров для одного сервера биллинга?)
- В <transportConnectors> меняем
Код:
<transportConnector name="nio" uri="nio://127.0.0.1:61616" discoveryUri="multicast://default"/>

на, скажем
Код:
<transportConnector name="nio" uri="nio://127.0.0.1:61617"/>

- В data.properties второго сервера пишем:
Код:
mq.url=failover:(nio://127.0.0.1:61617)
mq.user=bill
mq.pswd=bgbilling

- В <persistenceAdapter> для первого биллинга меняем
Код:
<amqPersistenceAdapter syncOnWrite="false" directory="${activemq.base}/data" maxFileLength="20 mb"/>

На
Код:
<amqPersistenceAdapter syncOnWrite="false" directory="${activemq.base}/data/bg1" maxFileLength="20 mb"/>

Для второго:
Код:
<amqPersistenceAdapter syncOnWrite="false" directory="${activemq.base}/data/bg2" maxFileLength="20 mb"/>

Возможно нужно будет создать директории руками.

Не проверял, но должно работать.


Последний раз редактировалось Cromeshnic 02 ноя 2010, 07:41, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ActiveMQ и второй биллинг
СообщениеДобавлено: 02 ноя 2010, 07:36 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Как-то так, например:

Код:
<beans
  xmlns="http://www.springframework.org/schema/beans"
  xmlns:amq="http://activemq.apache.org/schema/core"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
  http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd   
  http://activemq.apache.org/camel/schema/spring http://activemq.apache.org/camel/schema/spring/camel-spring.xsd">

    <!-- Allows us to use system properties as variables in this configuration file -->
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
         <property name="locations">
            <value>file:${activemq.base}/conf/credentials.properties</value>
         </property>     
    </bean>

    <!-- Первый брокер-->

    <broker xmlns="http://activemq.apache.org/schema/core" brokerName="activeMQBG1" dataDirectory="${activemq.base}/data/bg1">

        <!-- The store and forward broker networks ActiveMQ will listen to -->
        <networkConnectors>
            <!-- by default just auto discover the other brokers -->
            <networkConnector name="default-nc" uri="multicast://default" userName="bill" password="bgbilling"/>
        </networkConnectors>

        <!-- The transport connectors ActiveMQ will listen to -->
        <transportConnectors>
            <transportConnector name="nio" uri="nio://127.0.0.1:61616" discoveryUri="multicast://default"/>
        </transportConnectors>

        <!-- Destination specific policies using destination names or wildcards -->
        <destinationPolicy>
            <policyMap>
                <policyEntries>
                    <policyEntry queue=">" memoryLimit="5mb"/>
                    <policyEntry topic=">" memoryLimit="5mb"/>
                </policyEntries>
            </policyMap>
        </destinationPolicy>

        <!-- Use the following to configure how ActiveMQ is exposed in JMX -->
        <managementContext>
            <managementContext createConnector="false"/>
        </managementContext>

        <persistenceAdapter>
            <amqPersistenceAdapter syncOnWrite="false" directory="${activemq.base}/data/bg1" maxFileLength="20 mb"/>
        </persistenceAdapter>

        <!--  The maximum about of space the broker will use before slowing down producers -->
        <systemUsage>
            <systemUsage>
                <memoryUsage><memoryUsage limit="20 mb"/></memoryUsage>
                <storeUsage><storeUsage limit="1 gb"/></storeUsage>
                <tempUsage><tempUsage limit="100 mb"/></tempUsage>
            </systemUsage>
        </systemUsage>

        <plugins>
            <simpleAuthenticationPlugin>
                <users>
                    <authenticationUser username="bill" password="bgbilling" groups="user"/>
                    <authenticationUser username="listener" password="listener" groups="anonymous"/>
                </users>
            </simpleAuthenticationPlugin>

            <!--  lets configure a destination based authorization mechanism -->
            <authorizationPlugin>
                <map>
                    <authorizationMap>
                        <authorizationEntries>
                            <authorizationEntry queue="BG.Event.>" read="user" write="user" admin="user" />
                            <authorizationEntry topic="BG.Event.>" read="user, anonymous" write="user" admin="user" />

                            <authorizationEntry topic="ActiveMQ.Advisory.>" read="user, anonymous" write="user, anonymous" admin="user, anonymous"/>
                        </authorizationEntries>
                    </authorizationMap>
                </map>
            </authorizationPlugin>
        </plugins>

    </broker>

    <!-- Второй брокер-->

    <broker xmlns="http://activemq.apache.org/schema/core" brokerName="activeMQBG2" dataDirectory="${activemq.base}/data/bg2">

        <!-- The transport connectors ActiveMQ will listen to -->
        <transportConnectors>
            <transportConnector name="nio" uri="nio://127.0.0.1:61617"/>
        </transportConnectors>

        <!-- Destination specific policies using destination names or wildcards -->
        <destinationPolicy>
            <policyMap>
                <policyEntries>
                    <policyEntry queue=">" memoryLimit="5mb"/>
                    <policyEntry topic=">" memoryLimit="5mb"/>
                </policyEntries>
            </policyMap>
        </destinationPolicy>

        <!-- Use the following to configure how ActiveMQ is exposed in JMX -->
        <managementContext>
            <managementContext createConnector="false"/>
        </managementContext>

        <persistenceAdapter>
            <amqPersistenceAdapter syncOnWrite="false" directory="${activemq.base}/data/bg2" maxFileLength="20 mb"/>
        </persistenceAdapter>

        <!--  The maximum about of space the broker will use before slowing down producers -->
        <systemUsage>
            <systemUsage>
                <memoryUsage><memoryUsage limit="20 mb"/></memoryUsage>
                <storeUsage><storeUsage limit="1 gb"/></storeUsage>
                <tempUsage><tempUsage limit="100 mb"/></tempUsage>
            </systemUsage>
        </systemUsage>

        <plugins>
            <simpleAuthenticationPlugin>
                <users>
                    <authenticationUser username="bill" password="bgbilling" groups="user"/>
                    <authenticationUser username="listener" password="listener" groups="anonymous"/>
                </users>
            </simpleAuthenticationPlugin>

            <!--  lets configure a destination based authorization mechanism -->
            <authorizationPlugin>
                <map>
                    <authorizationMap>
                        <authorizationEntries>
                            <authorizationEntry queue="BG.Event.>" read="user" write="user" admin="user" />
                            <authorizationEntry topic="BG.Event.>" read="user, anonymous" write="user" admin="user" />

                            <authorizationEntry topic="ActiveMQ.Advisory.>" read="user, anonymous" write="user, anonymous" admin="user, anonymous"/>
                        </authorizationEntries>
                    </authorizationMap>
                </map>
            </authorizationPlugin>
        </plugins>

    </broker>

</beans>           


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ActiveMQ и второй биллинг
СообщениеДобавлено: 02 ноя 2010, 09:40 
Спасибо! Попробую


Вернуться к началу
  
 
 Заголовок сообщения: Re: ActiveMQ и второй биллинг
СообщениеДобавлено: 02 ноя 2010, 10:41 
Возник вопросик походу...

Оба брокера весят на одном порту... 61616
У них одинаковый логин и пароль userName="bill" password="bgbilling"
но разные пути к базам directory="${activemq.base}/data/bg2 и directory="${activemq.base}/data/bg1

но откуда биллинги будут знать к какому брокеру конектиться? если порты одинаковые и в data.properties тоже всё одинаково прописано


Вернуться к началу
  
 
 Заголовок сообщения: Re: ActiveMQ и второй биллинг
СообщениеДобавлено: 02 ноя 2010, 10:49 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Так я ж пишу, что порт надо поменять на 61617:
Cromeshnic писал(а):
- В <transportConnectors> меняем
Код:
<transportConnector name="nio" uri="nio://127.0.0.1:61616" discoveryUri="multicast://default"/>

на, скажем
Код:
<transportConnector name="nio" uri="nio://127.0.0.1:61617"/>

- В data.properties второго сервера пишем:
Код:
mq.url=failover:(nio://127.0.0.1:61617)
mq.user=bill
mq.pswd=bgbilling


p.s. сделайте бэкап своего конфига на всякий случай - я этот не проверял :)
Но у меня у самого работает 2 брокера на одном сервере, второй - для внутренних нужд.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ActiveMQ и второй биллинг
СообщениеДобавлено: 02 ноя 2010, 10:52 
Сори... порт не разглядел...


Вернуться к началу
  
 
 Заголовок сообщения: Re: ActiveMQ и второй биллинг
СообщениеДобавлено: 02 ноя 2010, 10:54 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Ещё не уверен, важно ли имя брокера для биллинга.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.055s | 23 Queries | GZIP : On ]