Pull to refresh
  • by relevance
  • by date
  • by rating

Использование Faye вместе с SSL

Staply corporate blog Website development *Ruby on Rails *
Tutorial
Мы живем в эпоху изобилия и вольны выбирать из десятков предложенных вариантов, тот который нравится нам больше всего.

Разрабатывая реалтаймовый сервис можно обойтись привычным setInterval(), но стоит воспользоваться возможностями технологии WebSocket и ей подобным. Вот какие преимущества вы получите:
  • Мгновенное уведомление клиента о событии
  • Возможность создать сервис, использующий каналы событий благодаря pub/sub архитектуре.
  • Отсутствие постоянного поступление запросов на сервер и снижение нагрузки как следствие.

Читать дальше →
Total votes 16: ↑15 and ↓1 +14
Views 6.4K
Comments 12

Actor Open Messaging Platform от разработчика Telegram

Self Promo
Всем привет!

Наша команда недавно выпустила небольшой продукт — открытую платформу для создания мессенджеров — Actor Messaging Platform.



Всего за несколько дней после запуска мы оказались на главной Hacker News (кто из разработчиков не читает — зря), на Reddit и собрали больше 600 звезд на GitHub от разработчиков со всего мира. У нас появилось небольшое сообщество, участники которого помогают друг друге в работе и улучшении продукта. Один из участников уже реализовал несколько важных вещей, необходимые Актору. Например, достаточно высококачественные звонки.
Читать дальше →
Total votes 33: ↑24 and ↓9 +15
Views 19K
Comments 67

RPC, Messaging, REST: Терминология

Programming *

RPC, Messaging, REST: Терминология



Цель данной статьи — обсудить терминологию. Статья — не о том, как и для чего, а только исключительно об использовании терминологии. Статья отражает мнение автора и не претендует на научность.

RPC, Messaging, REST- Terminology - RPC, Messaging, REST- Терминология

Вступление



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

Проблема возникает, когда встречаются люди, использующие разные технологии, и когда эти люди начинают технические разговоры. При этом часто возникает взаимное недопонимание, обусловленное терминологией. Я здесь попытаюсь свести воедино терминологии, используемые в разных контекстах.
Читать дальше →
Total votes 17: ↑11 and ↓6 +5
Views 55K
Comments 20

Микросервисные паттерны проектирования

Издательский дом «Питер» corporate blog Programming *Designing and refactoring *Microservices *
Translation
Здравствуйте, Хабр!

В ближайшее время читайте пост о русском переводе долгожданной книги "Создание Микросервисов" Сэма Ньюмена, которая уже отправилась в магазины. Пока же мы предлагаем почитать перевод статьи Аруна Гупты, автор которой описывает самые интересные паттерны проектирования, применимые в микросервисной архитектуре
Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Views 60K
Comments 7

Философия Channels

Website development *Instant Messaging *Python *Django *
Translation

Прошло много времени с моего последнего поста о Channels, и вместе с этим много чего случилось — API разработано и стабилизировано, добавился функционал вроде "контроля за переполнением" (backpressure), ситуация с бекендами выглядит гораздо лучше, особенно после того, как слой взаимодействия локальных и удаленных машин стал немного взрослее.


С другой стороны, однако, появилось недопонимание и озабоченность относительно направления, в котором развивается Channels; направления, которое этот проект задает для Django и Python. При разработке Channels пришлось касаться и даже бороться с моими собственными переживаниями об это направлении, выбирать правильный набор компромиссов — иногда даже из двух одинаково правильных вариантов.


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

Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Views 11K
Comments 4

История одного Side project

Self Promo
Друзья, всем привет! Уже больше года мы занимаемся развитием нового проекта на глобальном рынке и я хочу с вами поделиться нашим опытом запуска так называемого side project (стороннего проекта), который сейчас растет на 30% в неделю и служит источником пользователей для основного продукта. Добро пожаловать под кат.

image

Читать дальше →
Total votes 18: ↑16 and ↓2 +14
Views 7.2K
Comments 3

Brave new messenger API

Voximplant corporate blog Instant Messaging *JavaScript *
Tutorial


Привет всем, кто следит за приключениями Павлов в телефонии. Несколько дней назад мы добавили новую подсистему в Voximplant. Как разработчик, замешанный в этом по самое пикачу, я хочу поделиться внутренней кухней разработки. Мы добавили платформу для построения messenger apps. Будь то чаты, системы корпоративного общения, обмена сообщений устройствами — всё, для чего достаточно передачи текстовой информации.
Читать дальше →
Total votes 31: ↑30 and ↓1 +29
Views 4K
Comments 0

Мы не удержались и тоже сделали SDK для мессенджеров: Web, Android и iOS

Voximplant corporate blog Website development *JavaScript *Programming *API *

Вообще мы в Voximplant занимаемся голосовой автоматикой. Принять звонок с сотового телефона, запустить JavaScript сценарий клиента – там пара тысяч строк логики что с этим звонком делать, включая исходящие на веб-браузеры и мобильные приложения – вот эта вся история. Отдельная история – видео. Образование, телемедицина, совещания. Тот же SIP, те же кодеки, только данных передается в сотню раз больше. При этом браузеры любят зависать и падать, когда им не нравится полученный с другой стороны WebRTC SDP пакет, а мы их от этого отучаем.

Но, как оказалось, голоса и видео клиентам мало: “Мы не хотим сами писать чатик, уже два раза все переписывали и три питониста уволилось. Дайте нам стек unified communications, чтобы всё было на одной платформе, и мы не парились”. И на прошлой неделе мы стали этим самым “Unified Communications”. Теперь на нас можно собрать “Skype for Web” целиком: не только голосовые и видеозвонки, но и обмен сообщениями. Под катом я хочу показать как работает сделанный нами мессаджинг и, надеюсь, получить от вас фидбек – насколько хорошим получилось API и все ли с помощью него можно сделать?
Total votes 23: ↑23 and ↓0 +23
Views 6.9K
Comments 11

Веб-мессенджеры и эвент 'beforeunload': как сохранить миллион сообщений при закрытии страницы

Voximplant corporate blog Website development *JavaScript *Programming *

В конце лета мы добавили в наше облако Voximplant поддержку месседжинга. Теперь с помощью него и россыпи SDK под разные платформы можно делать собственные мобильные или веб-мессенджеры: голосовые звонки в любых комбинациях между телефонными сетями и SDK — есть, видеозвонки между SDK — есть, месседжинг — есть. А еще у текстовых сообщений есть ключевое отличие от голосовых и видеозвонков: их контент должен оставаться. Voximplant может записать голосовой и видеозвонок на стороне облака и отдать URL с получившимся файлом, но это «медленная» история для CRM, систем управления заказами и колл-центров. А сообщения — это быстрая история. Пользователь очень огорчается, когда клик по «старому» чату в Skype вызывает зависание мобильного или веб-приложения, которое пытается выкачать хоть сколько-нибудь истории с нагруженных серверов по неустойчивому 3G. В наших SDK мы предусмотрели несколько механизмов для максимально быстрой работы с историей сообщений, о которых под катом.
Читать дальше →
Total votes 44: ↑40 and ↓4 +36
Views 6.9K
Comments 25

Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 1

High performance *Instant Messaging *Programming *Java *Distributed systems *
Translation
Всем привет!

Начал перевод небольшой книги:
"Understanding Message Brokers",
автор: Jakub Korab, издательство: O'Reilly Media, Inc., дата издания: June 2017, ISBN: 9781492049296.

Из введения к книге:
"… Эта книга научит вас рассуждать о системах обмена сообщениями на брокерах, сравнивая и противопоставляя две популярные технологии брокеров: Apache ActiveMQ и Apache Kafka. Здесь будут изложены примеры использования и стимулы разработки, которые привели к тому, что их разработчики использовали совершенно разные подходы к одной и той же области — обмену сообщениями между системами с промежуточным брокером. Мы рассмотрим эти технологии с нуля и выделим влияние различных вариантов дизайна на этом пути. Вы получите глубокое понимание обоих продуктов, понимание того, как их следует и не следует использовать, и понимание того, на что следует обращать внимание при рассмотрении других технологий обмена сообщениями в будущем ..."

Переведенные к настоящему моменту части:
Глава 1. Введение
Глава 2. ActiveMQ
Глава 3. Kafka

Перевод выполнен: tele.gg/middle_java

Буду выкладывать законченные главы по мере перевода.
Читать дальше →
Total votes 26: ↑23 and ↓3 +20
Views 54K
Comments 17

Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 3. Kafka

High performance *Instant Messaging *Programming *Java *Distributed systems *
Translation
Продолжение перевода небольшой книги:
«Understanding Message Brokers»,
автор: Jakub Korab, издательство: O'Reilly Media, Inc., дата издания: June 2017, ISBN: 9781492049296.

Перевод выполнен: tele.gg/middle_java

Предыдущая часть: Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 2. ActiveMQ
Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Views 37K
Comments 5

Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 2. ActiveMQ

High performance *Instant Messaging *Programming *Java *Distributed systems *
Translation
Продолжение перевода небольшой книги:
«Understanding Message Brokers»,
автор: Jakub Korab, издательство: O'Reilly Media, Inc., дата издания: June 2017, ISBN: 9781492049296.

Перевод выполнен

Предыдущая часть: Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 1. Введение
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Views 53K
Comments 1

Многопользовательский чат на React с бэкендом от Chatix

JavaScript *ReactJS *
Tutorial

Chatix Chatroom


Сейчас я покажу вам как можно сделать чат для команды/пользователей/друзей если у вас нет своего бэкенда или вы не хотите тратить время на его разработку. Мы сделаем простой текстовый чат и на это у нас уйдет около часа.


Написать работающий сетевой чат без бэкенда практически невозможно, он обязательно должен быть в том или ином виде. Мы будем использовать Chatix и его JavaScript SDK. Chatix и SDK будут заниматься хранением сообщений и сетевыми задачами, а мы займемся фронтендом.


Готовый код проекта доступен на GitHub
Demo

Читать дальше →
Total votes 23: ↑11 and ↓12 -1
Views 8.7K
Comments 8

Обмен сообщениями → PubSub внутри OTP

Instant Messaging *Open source *Elixir/Phoenix *

OTP расшифровывается как Open Telecom Platform; так исторически сложилось, потому что платформа создавалась для нужд и на деньги Ericsson. Но, в принципе, это название имеет примерно столько же коннотаций с ее функциональностью, сколько и яблоки со среднего качества телефонами.


Основной отличительной характеристикой OTP по замыслу авторов является отказоустойчивость. Не многопоточность, не модель акторов, не богатые возможности pattern matching’а, даже не прозрачная кластеризация и не hot code upgrades. Отказоустойчивость.


Виртуальная машина эрланга на поверхностный взгляд устроена очень просто: есть куча «процессов» (не системных процессов, эрланг-процессов) с изолированной памятью, которые могут обмениваться сообщениями. Все. Вот, что говорил Джо Армстронг по этому поводу:


In my blog I argued that processes should behave pretty much like people. People have private memories and exchange data by message passing.
Why I don't like shared memory

Обмен сообщениями внутри OTP очень прост: один процесс посылает сообщение другому (или группе других процессов), синхронно, или асинхронно. Но для этого необходимо знать, кому эти сообщения посылать. То есть менеджером обмена выступает отправитель. Но что если мы хотим просто слать broadcast и дать возможность всем заинтересованным процессам подписаться на это сообщение?

Да это же PubSub!
Total votes 14: ↑14 and ↓0 +14
Views 3.7K
Comments 0

Что вас ждет в Space 2020

JetBrains corporate blog

В этом посте мы расскажем о планах развития Space на текущий год. Мы хотим быть уверены, что движемся в правильном направлении и что функциональность, над которой мы работаем, — именно то, что вам нужно. Официальный выпуск Space 2020 запланирован на 3–4 квартал этого года.


image


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


Что войдет в релиз Space 2020

Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Views 3.3K
Comments 10

Y messenger Manifesto

Decentralized networks Information Security *
Recovery mode

Y messenger - decentralized end-2-end encrypted messenger


We are a team of independent developers. We have created a new messenger, the purpose of which is to solve the critical problems of the modern Internet and the modes of communication it provides. We see users become hostages to the services they have grown accustomed to and we see corporations exploiting their users and controlling them. And we don’t like it. We believe the Internet should be different.
In this Manifesto, we disclose our vision of the Internet and describe what we have done to make it better. If you share our ideas — join us. Together we can achieve more than each of us can alone.

Read more →
Total votes 8: ↑3 and ↓5 -2
Views 571
Comments 2

Еще 5 причин выбрать Apache Pulsar вместо Apache Kafka

High performance *Open source *IT Infrastructure *Apache *Distributed systems *
Translation
Apache Kafka — крайне популярное в настоящий момент решение для обмена сообщениями. Тем более интересно посмотреть какие альтернативы для нее существуют. Особенно декларируемые, как более интересные по ряду параметров.

Под катом — перевод статьи-сравнения Apache Pulsar и Apache Kafka. Статья в некоторой степени рекламная, т.к. написана заинтересованным лицом, но как минимум, возбуждает интерес копнуть глубже. Поехали.

Переведено @middle_java
Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Views 6.9K
Comments 9

Релиз Centrifugo v3 – и да пребудет с вами Центробежная Сила

High performance *Website development *Open source *Development of mobile applications *Go *
Translation

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

Напоминаем, что Centrifugo – это сервер сообщений в реальном времени (real-time). Сервер держит постоянные соединения от пользователей приложения и предоставляет API для моментальной рассылки какого-либо уведомления активным пользователям, подписанным на канал уведомления. Можно использовать для создания чатов, "живых" комментариев, multiplayer игр, стримить данные и метрики (например, быстро меняющиеся курсы валют).

Новая Центрифуга v3 нацелена упростить использование сервера в простых real-time приложениях. Улучшена производительность сервера, существующие фичи обросли новой функциональностью. Centrifugo v3 поддерживает однонаправленные (unidirectional) real-time транспорты, клиентский JSON протокол значительно ускорен. Появилась экспериментальная поддержка высокопроизводительного движка на основе Tarantool. Помимо HTTP теперь есть возможность проксировать клиентские события используя GRPC протокол. Добавлены новые методы и поля серверного API, а также анонсирована PRO версия сервера, нацеленная на бизнес-пользователей.

Читать далее
Total votes 12: ↑11 and ↓1 +10
Views 2.6K
Comments 9