Avatar
1
monkey Enlightened
monkey Enlightened
Đ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ì?
  • Answer
ezyfoxserver netty
Remain: 5
1 Answer
Avatar
tvd12 Enlightened
tvd12 Enlightened
The Best Answer
  1. 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

  2. Fox cung cấp sẵn Message Pack và Json codec trong khi Netty thì chưa
  3. 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ể
  4. 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
  5. 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
  6. 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
  7. 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

  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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