1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/blackbeans-kiteq-client-go

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

kiteq-client-go

kiteq-client-go — это клиент на Go для kiteq

Структура проекта

kiteq/
├── README.md
├── log               конфигурация log4go
├── benchmark         Benchmark программы для KiteQ
├── client            клиент KiteQ
Запуск клиента:
    Для KiteQClient требуется реализация слушателя сообщений, мы определили следующий интерфейс:
    type IListener interface {
        // Обработчик получения сообщения
        OnMessage(msg *protocol.StringMessage) bool
        // Обработчик транзакций
        // Все транзакции считаются неудачными, если они явно не были успешно завершены
        // Любое исключение или возврат значения false указывает на отсутствие подтверждения
        OnMessageCheck(tx *protocol.TxResponse) error
    }

    Запуск Producer:
        producer := client.NewKiteQClient(${zkhost}, ${groupId}, ${password}, &defaultListener{})
        producer.SetTopics([]string{"trade"})
        producer.Start()
        // Создание сообщения
        msg := &protocol.StringMessage{}
        msg.Header = &protocol.Header{
            MessageId:     proto.String(client.MessageId()),
            Topic:         proto.String("trade"),
            MessageType:   proto.String("pay-succ"),
            ExpiredTime:   proto.Int64(time.Now().Unix()),
            DeliveryLimit: proto.Int32(-1),
            GroupId:       proto.String("go-kite-test"),
            Commit:        proto.Bool(true)}
        msg.Body = proto.String("echo")
        // Отправка сообщения
        producer.SendStringMessage(msg)

    Запуск Consumer:
        consumer := client.NewKiteQClient(${zkhost}, ${groupId}, ${password}, &defaultListener{})
        consumer.SetBindings([]*binding.Binding{
            binding.Bind_Direct("s-mts-test", "trade", "pay-succ", 1000, true),
        })
        consumer.Start()   

Готово! Выполнена функциональность публикации и подписки на сообщения...

  • Можно использовать пример из benchmark для справки.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

kiteq-client-go is kiteq's go client Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/blackbeans-kiteq-client-go.git
git@api.gitlife.ru:oschina-mirror/blackbeans-kiteq-client-go.git
oschina-mirror
blackbeans-kiteq-client-go
blackbeans-kiteq-client-go
master