O documento discute a arquitetura de microsserviços do Superplayer para lidar com escalabilidade. A solução envolve dividir o sistema em vários serviços independentes como Beet, que fornece estatísticas e métricas, e usar bancos de dados separados para cada serviço. Isso permite escalar horizontalmente cada parte do sistema independentemente.
1. Globalcode – Open4educationGlobalcode – Open4education
Trilha – Arquitetura .NET
Caliel Costa
Nerd, ouvinte de blues, pesquisador, esportista e fotógrafo amador, desenvolvedor e projetista de soluções em TI. Software
Designer no Superplayer.
4. Globalcode – Open4education
serviços
Substantivo, masculino singular
Com origem no termo latim servitĭum, a palavra serviço define a ação de servir
(estar sujeito a/ser prestável alguém por qualquer motivo, fazendo aquilo que
essa pessoa quer ou pede).
Substantivo utilizado para designar tarefa, trabalho ou obra em execução, a ser
executado ou já realizado
Ato ou efeito de servir
5. Globalcode – Open4education
micro
Substantivo, masculino singular
A palavra micro provém do idioma grego e significa “pequeno”
Significando também o conjunto de pequenos componentes para montar um todo
Convém destacar que em alguns países latino-americanos é usado o vocábulo
micro enquanto sinónimo de autocarro.
Milésima parte do milímetro
7. Globalcode – Open4education
escalabilidade
É uma característica desejável em todo o sistema ou processo
Indica sua habilidade de manipular uma porção crescente de trabalho de forma
uniforme ou estar preparado para crescer
9. Globalcode – Open4education
Superplayer é um serviço de recomendação musical focado em melhorar
todos os momentos da vida das pessoas através da trilha sonora
perfeita.
Startup brasileira
Criado em 2012
25. Globalcode – Open4education
Princípio da Responsabilidade Única
(The Single Responsability Principle)
"A class should have one, and only one, reason to change."
("Uma classe deve ter um, e somente um, motivo para mudar.")
Robert "Uncle Bob" Martin
29. Globalcode – Open4education
Plataformas
API WEB API
REST
Estalabilidade Horizontal
Sincrono
Beet
Agents
NancyFX
REST
Responsabilidade Única
Escabilidade Horizontal
Assincronos
30. Globalcode – Open4education
NancyFX
Nancy is a lightweight, low-ceremony, framework for building HTTP
based services on .Net and Mono. The goal of the framework is to stay
out of the way as much as possible and provide a super-duper-happy-
path to all interactions.
http://nancyfx.org/
Pode ser hospedado com IIS, Azure, Owin (Katana
ou self-hosted), Nginx
33. Globalcode – Open4education
Time line
Back
office
SQL
Server
Playlists
Track
Artista
Album
Playlist
Mongo
DB
Playlist
Track
Album
Artist
Track
Album
Artist
Track
Album
Artist
34. Globalcode – Open4education
Time line
Play
Mongo
DB
Playlist
Track
Album
Artist
Track
Album
Artist
Track
Album
Artist
API Web
Play @Rock
Playlist com
tracks
Suggestion
38. Globalcode – Open4education
Closure
A separação em serviços externos facilitou a integração
entre os bancos de dados
Facilitou a transformação de dados em informação
Estamos ajustado o processo de deploy e referência entre
os serviços