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.
Điểm vượt trội của EzyFox Server so với Netty là gì?
Điểm vượt trội của EzyFox Server so với Netty là gì?
ezyfoxserver
×
netty
×
Remain: 5
1 Answer

tvd12
Enlightened
tvd12
Enlightened
The Best Answer
- Netty chỉ quản lý đến mức channel, nhưng fox quản lý đến mức user, tức là một user có thể có nhiều thiết bị cũng ok, còn netty thì em phải tự code phần này
tức là 1 user sẽ có nhiều channel đã được code sẵn rồi
- Fox cung cấp sẵn Message Pack và Json codec trong khi Netty thì chưa
- Fox cho phép sử dụng SSL một cách mềm dẻo, nghĩa là bạn có thể chọn ra các command mà bạn muỗn mã hoá, từ đó tăng hiệu năng đáng kể
- Netty không cung cấp cơ chế anti flooding, fox cung cấp cơ chế này, đảm bảo mỗi một channel chỉ có tối đa một số lượng request nhất định, đảm bảo không user nào có thể request làm chết server
- Anh không rõ netty có phân phối đều việc xử lý request và ghi xuống client không, nhưng fox thì xử lý kiểu vậy nó kiểu băng đạn tròn, xoay vòng, mỗi channel sẽ được lấy ra 1 request khỏi queue xử lý rồi vào queue ngay, đảm bảo tài nguyên được phân phối đều cho tất cả user
- Fox gom chung việc xử lý logic về làm 1, Fox server hỗ trợ cả 3 giao thức, TCP, UDP, Websocket, nhưng khi xử lý logic thì sẽ gom chung về 1 chỗ, Netty cũng làm được vậy nhưng dev sẽ phải viết thêm code
- Netty sử dụng chain of responsibility design pattern, tức là một luồng sẽ bao gồm deserialize dữ liệu, handle request, response, serialize dữ liệu, nhưng như vậy khi broadcast message sẽ gặp vấn đề là thằng nào cũng phải trải qua quá trình đấy, nên nó giảm hiệu năng, fox thì chỉ serialize 1 đối tượng ra byte và sau đó trả cho tất cả client, từ đó hiệu năng được tăng lên
nếu sửa lại cái pattern của Netty để serialize byte trước khi gửi xuống toàn bộ client thì ngang với đi viết lại 1 phần ko nhỏ của Netty rồi
- Netty không hỗ trợ IoC và Dependency Injection, trong khi fox đi theo hệ sinh thái của mình nó có đầy đủ thư viện để giúp cho 1 lập trình viên code như đã từng làm việc với các framework như spring
- Netty không cung cấp các thư viện client, trong khi đó fox cung cấp đầy đủ các sdk cho mọi client phổ biến nhất
- Fox đi theo hệ sinh thái chứ không chỉ đơn thuần là 1 framework về lập trình nên cũng giống như spring nó sẽ là một hệ sinh thái support dev đến tận răng, dev sẽ chỉ cần tập trung vào code nghiệp vụ mà thôi
- Nếu thử code bằng Netty và fox cho cùng 1 code logic, fox sẽ tiết kiệm bộ nhớ hơn, về hiệu năng thì sẽ cần đo và kiểm chứng
- Fox cài đặt sẵn command ping pong với chỉ phí nhỏ nhất, để client giữ kết nối với server, khi không nhận được ping pong trong 1 khoảng thời gian, server sẽ tự kill session kết nối đến client đó đi, trong khi với Netty bạn sẽ phải tự cài đặt
- Fox phân chia server thành các thành phần logic như Zone, App, Plugin người dùng chỉ cần quan tâm đến xử lý nghiệp vụ mà thôi
- Fox cho phép dễ dàng thêm mới hoặc bỏ đi các thành phần thông qua cấu hình file xml
-
2
- Reply
- Questions 964
- Answers 2.0K
- Best Answers 120
- Users 423
-
-
-
Tran Duy Tung added an answer Anh ơi, nếu như ở module mới của em, em exclude nó đi thì li... 1701405819000
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
ssl
debug
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