|
Какая технология лучше подходит
|
|||
---|---|---|---|
#18+
Всем привет, посоветуйте какая технология лучшее подойдет для следующей реализации. Есть 3 приложения wpf/uwp работающие во внутренней сети. Необходимо обеспечить возможность push- уведомлений от одного приложения другому с возможность получения callback об успешном получении сообщений. В качестве сообщения выступает экземпляр пользовательского класса- ничего тяжеловесного. Скорость- не критично. Критичен факт 100% доставки сообщений. На данный момент нашел 3 технологии:wcf, сокеты, SignalR. Размещаться сервер push - уведомлений будет на windows server 2012- там вроде нельзя хостить wcf в iis. Посоветуйте какая из них более подходит под требования. Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 08:51 |
|
Какая технология лучше подходит
|
|||
---|---|---|---|
#18+
vb_sub, Мы на sql ru? Значит субд в первую очередь. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 09:09 |
|
Какая технология лучше подходит
|
|||
---|---|---|---|
#18+
Petro123, субд здесь излишнее звено, потому что не стоит задача накапливать данные. Тем более, чтобы субд нотифицировала клиентов необходимо как правило Query Notifications, что намного усложняет архитектуру приложения. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 09:25 |
|
Какая технология лучше подходит
|
|||
---|---|---|---|
#18+
vb_sub, А транзакции, хранение при перезагрузке ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 09:45 |
|
Какая технология лучше подходит
|
|||
---|---|---|---|
#18+
Petro123, было бы неплохо, но в любом случае я смогу это и на клиенте реализовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 10:05 |
|
Какая технология лучше подходит
|
|||
---|---|---|---|
#18+
vb_sub, для 100% доставки сообщений есть MSMQ ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 10:14 |
|
Какая технология лучше подходит
|
|||
---|---|---|---|
#18+
Ирвин, a wcf не гарантирует доставку? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 10:17 |
|
Какая технология лучше подходит
|
|||
---|---|---|---|
#18+
vb_subPetro123, было бы неплохо, но в любом случае я смогу это и на клиенте реализовать. Не понял как, если клиент в отпуске и сегодня вышел наработу? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 10:38 |
|
Какая технология лучше подходит
|
|||
---|---|---|---|
#18+
vb_subИрвин, a wcf не гарантирует доставку? Как сказать..... Гм... Это REST как его видит MS. Т.е. реализация rest от MS. Т.е. это некоторые соединения и транспорт.....трубопроводы. А rest никого не помнит. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 10:43 |
|
Какая технология лучше подходит
|
|||
---|---|---|---|
#18+
Petro123, реализация на клиенте- если сообщение не дошло, я помечаю его как неотправленное и при включении в сеть другого приложения адресата- повторно ему отправляю сообщение. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 10:50 |
|
Какая технология лучше подходит
|
|||
---|---|---|---|
#18+
vb_subPetro123, реализация на клиенте- если сообщение не дошло, я помечаю его как неотправленное и при включении в сеть другого приложения адресата- повторно ему отправляю сообщение.где помечаешь? На другом клиенте в должости сервера? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 10:57 |
|
Какая технология лучше подходит
|
|||
---|---|---|---|
#18+
Petro123, у всех клиентов точка взаимодействия одна (на примере wcf, можно ли без общей точки взаимодействия работать с динамическими ip адресами на клиентских машинах пока не знаю). Например мне нужно из одного приложения(app1) отправить сообщение в другое(app2). Если бы я это делал через wcf сервис(wcfServ), то я бы послал команду на wcfServ такого типа - перешли на app2 сообщение с callback-ом о том, что оно успешно получено (в wcf это duplex contract) и соответственно если app2 ответило, что оно успешно получило сообщение, то ура, в противном случае отправляю через этот же wcfServ сервис обратно на app1 сообщение о том, что app2 недоступно, ставлю таймер на повторную отправку в app1 до тех пор пока оно успешно не будет принято app2. Почему нужно пробрасывать ошибку доставки аж до app1? Потому что в app1 знать получилось ли доставить сообщение или нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 11:20 |
|
Какая технология лучше подходит
|
|||
---|---|---|---|
#18+
vb_sub, Я же вопрос задал. Если приложения по очереди выходят в сеть, то что? Или приложение выгружается, но не отправило (адресат в отпуске). ? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 11:35 |
|
Какая технология лучше подходит
|
|||
---|---|---|---|
#18+
vb_subwcfServ такого типаэто выделенный сервер 24х7 который всегда работает? Тогда можно, но перегружать его нельзя. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 11:39 |
|
Какая технология лучше подходит
|
|||
---|---|---|---|
#18+
vb_subИрвин, a wcf не гарантирует доставку? wcf может в качестве транспорта использовать msmq ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 11:42 |
|
Какая технология лучше подходит
|
|||
---|---|---|---|
#18+
Petro123, да сервер работает 24/7 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 11:48 |
|
Какая технология лучше подходит
|
|||
---|---|---|---|
#18+
с зарезервированным IP. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 11:51 |
|
Какая технология лучше подходит
|
|||
---|---|---|---|
#18+
Тогда все подходят. Без базы или зеркала или кластера будет 99%. Т.к. очередь отправки рукописная, то будет 98% надежности. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 12:06 |
|
Какая технология лучше подходит
|
|||
---|---|---|---|
#18+
vb_sub, если необходима 100% доставка сообщений, то, как уже советовали, используйте очередь. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 12:14 |
|
Какая технология лучше подходит
|
|||
---|---|---|---|
#18+
Petro123, ок спасибо за советы, буду скорее всего wcf. Можете подсказать как лучше связываться из клиентских проектов в visual studio к wcf-проекту, если они все будут располагаться в одном solution - через add reference service (прокси) или в клиенте писать через channelFactory? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 12:15 |
|
Какая технология лучше подходит
|
|||
---|---|---|---|
#18+
vb_subPetro123, ок спасибо за советы, буду скорее всего wcf. Можете подсказать как лучше связываться из клиентских проектов в visual studio к wcf-проекту, если они все будут располагаться в одном solution - через add reference service (прокси) или в клиенте писать через channelFactory? AFAIK через прокси. Вам главное найти пример и сделать демку Привет Мир. Вот и ищите демку. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2018, 12:49 |
|
Какая технология лучше подходит
|
|||
---|---|---|---|
#18+
vb_subPetro123, у всех клиентов точка взаимодействия одна (на примере wcf, можно ли без общей точки взаимодействия работать с динамическими ip адресами на клиентских машинах пока не знаю). Например мне нужно из одного приложения(app1) отправить сообщение в другое(app2). Если бы я это делал через wcf сервис(wcfServ), то я бы послал команду на wcfServ такого типа - перешли на app2 сообщение с callback-ом о том, что оно успешно получено (в wcf это duplex contract) и соответственно если app2 ответило, что оно успешно получило сообщение, то ура, в противном случае отправляю через этот же wcfServ сервис обратно на app1 сообщение о том, что app2 недоступно, ставлю таймер на повторную отправку в app1 до тех пор пока оно успешно не будет принято app2. Почему нужно пробрасывать ошибку доставки аж до app1? Потому что в app1 знать получилось ли доставить сообщение или нет. WCF Redis (с группами сообщений) SignalR ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2018, 09:34 |
|
|
start [/forum/topic.php?fid=19&msg=39588143&tid=1396702]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
24ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 138ms |
0 / 0 |