Share & grow the worlds knowledge!
We want to connect the people who have knowledge to the people who need it, to bring together people with different perspectives so they can understand each other better, and to empower everyone to share their knowledge.
minify and restore file
hi các anh, tình hình server em dùng để storage file ngày càng đầy, có nên thiết kế 1 con để minify các file gửi lến server k ạ. Ví dụ như các file ảnh gửi lên thì em giảm kích thước xuống để giảm size ảnh để lưu tốn ít bộ nhớ hơn. Em có dự định lắp 1 con RabbitMQ để process minify các file ảnh gửi lên. vậy e rằng khi người dùng lấy xuống mình lại phải phóng to file lên có ổn không ạ
Remain: 5
1 Answer

tvd12
Professional
tvd12
Professional
Theo tư duy thông thường và các dịch vụ cung cấp media hiện nay thì người ta cũng phải sinh ra nhiều phiên bản cấu hình khác nhau cho 1 media, có nghĩa là không phải người ta chỉ lưu 1 bản có dung lượng thấp đâu nhé. Việc này có ý nghĩa cho phía client để tương ứng với mỗi tình huống thì sẽ chỉ cần tải các file với cấu hình tương ứng, ví dụ như khi hiển thị icon thì chỉ cần lấy cái ảnh dung lượng thấp thay vì cái ảnh vài MB chẳng hạn.
Anh chưa hiểu ý tưởng của em dùng rabbitmq là thế nào, em có thể mô tả rõ hơn không?
-
0
- Reply
nó để tránh spam quá tải ạ, nếu k có nó, ví dụ 1 request minify em mất 10s để minify nhưng trong 1 s có 1000 request, mục đích có Rabbit để giữ 1000 request đó tránh 1000 request này gọi trực tiếp server ạ. Nếu gọi trực tiếp giống như DDOS server vậy đó anh
–
Nguyễn Thái Sơn
1665909154000
giải pháp anh làm vậy càng tốn bộ nhớ, ví dụ 1 file ảnh full hd 125 MB anh lại tạo 1 ảnh 50 mb sau khi minify, vậy 1000 hay 1 triệu... người dùng sẽ tốn rất nhiều bộ nhớ, mỗi người lại vài chục cái ảnh nữa. Anh cứ giả sử là 1 cái MXH có 100000 người dùng, mỗi ng dùng mỗi ngày họ có vài cái ảnh selfie, 1 tháng là rất nhiều và 1 năm là rất rất nhiều ảnh anh ạ, điều này cực tốn bộ nhớ
–
Nguyễn Thái Sơn
1665909311000
Tức là em định truyền toàn bộ dung lượng của ảnh qua rabbitmq để đến 1 con server khác xử lý à?
–
monkey
1665942617000
Bộ nhớ ngày nay không phải vấn đề đâu em, ngày nay người ta cố gắng thu thập và lưu trữ càng nhiều data càng tốt để phục vụ cho các hệ thống machine learning và AI. Gíá thành của bộ nhớ thì càng ngày càng rẻ đi chứ không tăng lên, nên đó không phải vần đề em ạ. Trải nghiệm người dùng mới là quan trọng nhất.
–
monkey
1665942761000
- Questions 937
- Answers 2.0K
- Best Answers 115
- Users 405
Related Questions
Recent Activities
-
Voted up question. January 9, 2023 at 2:54 pm
-
Voted up question. January 9, 2023 at 2:54 pm
-
Voted up question. January 9, 2023 at 2:54 pm
-
Voted up question. January 9, 2023 at 2:54 pm
-
Voted up question. January 9, 2023 at 2:54 pm
Top Members
Trending Tags
php
laravel
react-native
qr
stresstest
thiết kế tầng trong dự án
controllerservice
serialization
wordpress
xss
programming-language
facebook
vietqr
network
room database
restful
map
video call
tcp
webrtc
câu hỏi
excel-object-mapper
vuejs
jquery
đồ án tốt nghiệp
lỗi font
oracle
postman
cron
elasticsearch
di
ioc
format json
get file zip
zip file
resttemplate
design patterns
architecture
scheduled spring boot
datetime
#formatdate
paginaiton
microservices
communication
multi-threading
synchronize
otp message
send mail
ssl email
send email
jsonproperty
join
json to object
scheduled
solution
spring websocket cors
refactor
export compliance
config-css
spring websocket
stream api
webflux
mobile
push-noti
jenkins
repository
replica
jotform
refresh token
access token
maria db
junit-test
gorilla
procedure
filter
exception
null
exception handler
upload
resilence4j
bucket4j
readmoretextview
regex
email
qrcode
list
.net
.net oop
partition
oop
c# .net
executor
threadpool
mq
message queue
app
background
h2 database
gallery
deadlock
transaction
monitoring
main
jsp
servlet
tomcat
node.js
watermark
pdf
excel
profile
properties
image
authentication
plugin
udp
access app
project management
estimation
database migration
migration
crawl data
graduation thesis
utf-8 file
validate date
connection pool
thread pool
concurrent
convert date to number
load balancer
nginx
synchronized
lock
graphql
stress test
test
json file
networking
handy terminal
study
computer science
webassembly
assembly
nan
cookie
session
mail template
mail
cosmos-sdk
push notification
socket server
round robin
jetbrains
validate
btree
glide
floating point
artificial intelligence
ai
private_key
duration
hyperloglog
gateway
dns
exception handle
transfer
deploy contract
uniswap
s3
web
ezymq-kafka
ezyredis
soap
transfer git
mongo
integration-test
branch
boot-nodes
springwebflux mysql
index
lưu trữ
dữ liệu lớn
spring-boot-test
macos
apache poi
guide
keycloak
queue
multiple tenant
spring security
extensions
pancakeswap
structure trong spring boot
postgresql
totp
n
cloud reliability
python
golang
bash script
messaging
reactive
roadmap
anti-flooding
cosmos
jvm
abstract class
interface
log4j
non-blocking io
career path
singleton
web3 client
zookeeper
soft delete
centos
ansible
binding
tracking location
socket
optimize
resource
eclip
naming convention
naming
game-room
game-server
log4j-core
jsp & servlet
java core
system environment variables
load-balancing
pgpool
datasource
spring data jpa
schedule
thread
rest
grapql
asyncawait
multithread
math
vector
hibernateconfig
javaw
sjis
shift jis
stream
blog
java spring
nodejs
hibernate
ipfs
issue
build
bundle
vue cli
vue
webpack
fulltextsearch
view
sql
css
html
dex
decentralized exchange
ethereum login
javascript
keep promise
https
nft game
login
thymeleaf
erc721
contract
erc20
web3
smart contract
ropssten
ropsten
metamask
windows 11
bitcoin
eth
ethereum
flutter
isolate
backend nestjs
java web
springsecurity
machine learning
backend
spring aop
winforms
deep learning
model
spring redis
request
pre
nio
io
batch
unit test
slack
log
indexing
sql server
devops
cors
big project
work
frontend
api
cache
draw.io
content-disposition
reactjs download
datastructure
javacore
distraction programing
callback
async
promise
threadjava
unity
orm
rust
pointer
panic
merge
commit
.net core
js
kerberos
security
go
netcore
sosanh
rabbitmq
grpc
ezyhttp
python unicode
front-end
fe
docker
buffered
server
exyfox
career
spring-jpa
jpa
du học
job
bean
spring
reactjs
fullstack
c#
kotlin
sse
websocket
mysql
springboot
rxjava
future
push message android
recyclerview
android
cast
intellij
maven
netty
multithreading
msgpack
json
design-pattern
library
spring boot
redis
hazelcast
atomicboolean
volatile
storage
it
git
caching
chat
game
nft
blockchain
freetank
game-box
jwt
microservice
search
kafka
get
upload file
download
http
opensource
cloud
languague
programming
database
pagination
editor
stackask
question
ezyfox-boot
ezyfox-server
ezyfox
phỏng vấn
java
ezyfoxserver