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 ответов

16 просмотров
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
>Но как делать квери по хештегам вот тут хороший в...

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

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта