Tổng hợp những Example cơ bản khi sử dụng Iris Framework.
- Tổ chức, sắp xếp thư mục, chia nhỏ file phù hợp cho mục đích làm REST API.
- Cơ chế Dispatcher giúp cải thiện khả năng scale, tăng hiệu năng khi gọi nhiều HTTP Request, RPC Request cùng 1 lúc. Tham khảo bài viết: http://marcio.io/2015/07/handling-1-million-requests-per-minute-with-golang/
- Sử dụng
fasthttp
Client thay chonet/http
Client - Sử dụng
Apache Thrift
để triển khai RPC. - Source code của Mock Remote Service: https://github.com/paduvi/MockRemoteService
- Đây chỉ là ví dụ tổng hợp triển khai giải thuật, technology và các cơ chế concurrent, không hoàn toàn tối ưu về mặt tốc độ. Iris Framework build on top of Fasthttp, nên sử dụng thuần Fasthttp để đạt được tốc độ tốt nhất có thể.
- Hello World làm quen với Iris Framework.
- Route
"/ping"
: đóng vai trò API Gateway, thực hiện HTTP Request Ping tới Remote Service
- API ứng dụng Todo List đơn giản
- Response trả về dưới dạng JSON.
- Việc Xem/Thêm/Xóa được thực hiện thông qua Database (trong khuôn khổ thử nghiệm Example Iris cơ bản nên sử dụng tạm 1 Mock Repo thay vì dùng DB thật)
- Trong ví dụ chưa có sử dụng Dispatcher. Nên áp dụng Dispatcher giống như Message Controller để tối ưu hiệu năng, vì bản chất việc gửi command tới database cũng là 1 kết nối TCP
- API ứng dụng Message List đơn giản
- Response trả về dưới dạng JSON.
- Việc Xem/Thêm/Xóa được thực hiện thông qua lời gọi HTTP Request tới Remote Service.
- Ở đây server đóng vai trò là 1 API Gateway, mọi job đều được điều phối thông qua Dispatcher.
- Ứng dụng Redis để lưu Cache History của user sau khi đọc bài viết.
- Các thao tác đều phải thông qua 1 Dispatcher, tương tự như Message Controller.
- Đang hoàn thiện Delay Job cập nhật lọc lịch sử cũ
- Hoàn thiện lấy danh sách các User xem nhiều hơn N bài viết
- Bổ sung Example Iris với Apache Thrift.