169 похожих чатов

Вот короче как я себе это представляю: Register account - это просто

будет accountActor который в памяти будет хранить хеши паролей и логины и возможно ссылку на актора соответствующего юзера

Send tweet. Tweets can have hashtags (e.g. #COP5615isgreat) and mentions (@bestuser)
- Вот тут я думаю можно будет сделать eventStream в котором будет броадкаститься (mentions: User list и hashTags: string list) и просто акторы юзеров будут подхватывать ивент и если в списке юзернеймов / хештегов на который юзер подписался есть соответствующий хештег/юзернейм то этот актор его хавает если нет то игнорит. Или есть мб какие-то другие варианты как вы думаете?

Subscribe to user's tweets
- ну тут все просто - отправим актору юзера месседж чтоб добавил в свой стейт ссылку на актора-отправителя и отправлял ему твиты. Только как ссылку на этого юзера достать, динамически это правильно? то есть у меня адреса акторов-юзеров будут детерменированными по их юзернеймам. Это правильный подход или фигня?

Re-tweets (so that your subscribers get an interesting tweet you got by other means)
- думаю тут тоже просто как и выше просто будет в модели Author и это не обязательно тот актор от которого пришло сообщение

Allow querying tweets subscribed to, tweets with specific hashtags, tweets in which the user is mentioned (my mentions)
- тут просто если мы подписаны на твит то мы так же имеем ссылку на актора юзера-автора твита то мы можем запросить инфу об этом твите. Но как делать квери по хештегам вот тут хороший вопрос, я думаю мб у всех акторов-юзеров спросить есть ли у них такие твиты с ххештегами или нет О_о
спрашивать буду через Tell а не Аск ибо аск бед практис я это на себе уже ощутил 😊

If the user is connected, deliver the above types of tweets live (without querying)
- расписал в Send tweet

Implement a tester/simulator to test the above
- блин а это надо будет в другом процессе делать от беда такого никогда не делал. Мб есть примеры пацаны

Simulate as many users as you can
Simulate periods of live connection and disconnection for users
Simulate a Zipf distribution on the number of subscribers. For accounts with a lot of subscribers, increase the number of tweets. Make some of these messages re-tweets
- ребят по этим пунктам вообще поплыл че есть какой-нить бест практис или совет О_о

9 ответов

8 просмотров
Mark- Автор вопроса

синьоры архитекторы посмотрите плиз минут 5 займет если со всем согласны то круто если есть какие-то ошибки или проблемы с которыми могу столлкнуться скажите

Mark
синьоры архитекторы посмотрите плиз минут 5 займет...

Я не очень понимаю, до какой степени все это надо реализовать

Я не против акки в целом, но не проще ли это будет сделать на orleans?

Romɑn Melnikov
Я не против акки в целом, но не проще ли это будет...

Но если ты акку знаешь, то тогда стоит ее брать. Я ее доку читал пару недель

>Но как делать квери по хештегам вот тут хороший вопрос, я думаю мб у всех акторов-юзеров спросить есть ли у них такие твиты с ххештегами или нет О_о Ивент стримы акки по тегу

Тестируется обычно несложно с Akka.TestKit, у Акклинга есть свои добавки. Пример теста: [<Fact>] let ``Should deliver single message`` () = testDefault <| fun tck -> let messageHandler = fun msg -> (typed tck.TestActor) <! msg let handler = createDeliveryActor<int> tck messageHandler handler <! 1 let msg = receiveN tck 1 |> Seq.head |> unbox Assert.Equal(1, msg)

Mark- Автор вопроса
Romɑn Melnikov
>Но как делать квери по хештегам вот тут хороший в...

Ага, это да, а как сделать запрос на исторические твиты (не ивент по новым)

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Ошибка: segmentation fault (core dumped) Код: pastebin.com/BEsNNSSV Сообщение от компилятора: отсутствует ОС: Arch Linux Ядро: x86_64 Linux 6.9.7-arch1-1 Процессор: Intel Cele...
sec
4
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
@ahndmn @ayaw0_0 здарова, на чем пишете?
Aiwan \ (•◡•) / _bot
7
Коллеги, как получить PId для собственного процесса из под линукса?
Роман Лях (rgreat)
6
Карта сайта