API desenvolvida em Spring Boot e Java para exibição dos usuários com maiores seguidores
10K+
API desenvolvida em Spring Boot e Java para exibição dos usuários com maiores seguidores.
Esta imagem é dependente do consumidor chamado twitter-consumer.
Utilizar o docker-compose para subida de todos os serviços:
version: '3.2'
services:
db:
image: redis
ports:
- "6379:6379"
entrypoint: redis-server --appendonly yes --requirepass twitterdemo
volumes:
- "db_data:/data"
consumer:
image: thomasdacosta/twitter-consumer:latest
depends_on:
- db
environment:
- "JAVA_OPTS=-Dtwitter4j.debug=true -Dtwitter4j.oauth.consumerKey=**** -Dtwitter4j.oauth.consumerSecret=**** -Dtwitter4j.oauth.accessToken=**** -Dtwitter4j.oauth.accessTokenSecret=**** -Dspring.redis.port=6379 -Dspring.redis.host=db -Dspring.redis.password=twitterdemo -Dredis.ssl=false -DhashTag=#azure,#microsoft"
api:
image: thomasdacosta/twitter-api:latest
ports:
- "8080:8080"
depends_on:
- db
- consumer
environment:
- "JAVA_OPTS=-Dspring.redis.port=6379 -Dspring.redis.host=db -Dspring.redis.password=twitterdemo -Dredis.ssl=false"
volumes:
db_data:
Utilizar o comando abaixo para gerar a imagem do container:
docker image build --build-arg JAR_FILE=target/twitter-api.jar --tag thomasdacosta/twitter-api:latest .
Enviar imagem para o Docker Hub
docker push thomasdacosta/twitter-api:latest
A aplicação possui o Spotify dockerfile-maven para geração das imagens. Foi criado um profile especifico para esta estapa:
mvn clean install -P docker
curl -X GET \
http://localhost:8080/users/azure \
-H 'Accept: */*' \
-H 'Accept-Encoding: gzip, deflate' \
-H 'Cache-Control: no-cache' \
-H 'Connection: keep-alive' \
-H 'Host: localhost:8080' \
-H 'Postman-Token: af26c992-8625-4524-97c4-6c156ca67269,3f65e6a6-5c59-494c-937f-0db4cde4b47f' \
-H 'User-Agent: PostmanRuntime/7.19.0' \
-H 'cache-control: no-cache'
Retorno da API com o ranking dos usuários com mais seguidores:
[
{
"user": "keshavbeniwal2",
"followers": "52448",
"ranking": "1",
"hashtag": "azure"
},
{
"user": "solarwinds",
"followers": "15579",
"ranking": "2",
"hashtag": "azure"
},
{
"user": "netec",
"followers": "10031",
"ranking": "3",
"hashtag": "azure"
},
{
"user": "oliver_hoess",
"followers": "7645",
"ranking": "4",
"hashtag": "azure"
},
{
"user": "dsscreenshot",
"followers": "7145",
"ranking": "5",
"hashtag": "azure"
}
]
Esta imagem utiliza o Redis para obter as informações com a lista de usuários com maiores seguidores.
Para executar o Redis utilize o comando abaixo:
docker run -p 6379:6379 --name redis -d redis redis-server --appendonly yes --requirepass twitter
Os parâmetros da aplicação, deverão ser configurados na variável de ambiente JAVA_OPTS:
docker run -e JAVA_OPTS="-Dspring.redis.port=6379 \
-Dspring.redis.host=localhost \
-Dspring.redis.password=twitter \
-Dredis.ssl=false" -p 8080:8080 thomasdacosta/twitter-api
Thomás da Costa - https://thomasdacosta.com.br
Content type
Image
Digest
Size
70.1 MB
Last updated
almost 7 years ago
docker pull thomasdacosta/twitter-api