будет 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
- ребят по этим пунктам вообще поплыл че есть какой-нить бест практис или совет О_о
синьоры архитекторы посмотрите плиз минут 5 займет если со всем согласны то круто если есть какие-то ошибки или проблемы с которыми могу столлкнуться скажите
Я не очень понимаю, до какой степени все это надо реализовать
Я не против акки в целом, но не проще ли это будет сделать на orleans?
Но если ты акку знаешь, то тогда стоит ее брать. Я ее доку читал пару недель
>Но как делать квери по хештегам вот тут хороший вопрос, я думаю мб у всех акторов-юзеров спросить есть ли у них такие твиты с ххештегами или нет О_о Ивент стримы акки по тегу
Тестируется обычно несложно с 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)
Это было в персистент стримах
Ага, это да, а как сделать запрос на исторические твиты (не ивент по новым)
Обсуждают сегодня