You are on page 1of 6

1.

Mattermost
 Mattermost là phần mềm dịch vụ chat trực tuyến mã nguồn mở với các chức năng
chia sẻ văn bản, tìm kiếm lịch sử chat,...
 Phù hợp để sử dụng trong nội bộ các công ty, tập đoàn. Có thể sử dụng server
cloud do Mattermost cung cấp hoặc tự host.
 Có trên nền tảng trình duyệt, PC, Android, iOS
 Sử dụng MySQL hoặc PostgreSQL
 Các tính năng chính của Mattermost:
o Chat nhóm, chia sẻ file, lưu trữ và tìm kiếm lịch sử chat không giới hạn
o Native app cho iOS, Android, Windows, Mac, Linux
o Xác thực nhiều bước
o Có thể tích hợp bot, phần mềm và các tool của bên thứ 3
o Có thể sử dụng webhook, API, driver để tích hợp các tính năng khác
o Có thể nhúng vào trang web bằng iframe
o Có thể chia thành nhiều kênh chat cho các mục đích khác nhau
o Chia người dùng thành các team khác nhau
o Update hàng tháng

2. Cấu trúc
 Mattermost bao gồm một RESTful JSON web server và các client được viết bằng
Javascript và Go như sau:
o Client xác thực: cho phép người dùng đăng nhập bằng email và password
o Service thông báo: cho phép gửi thông báo thông qua SMTP hoặc Service
Push Notification để gửi cho các thiết bị di động
o Service quản lý dữ liệu để kết nối Mattermost với DB và bộ nhớ lưu trữ
file.
 Mattermost có thể kết nối tới DB sử dụng MySQL hoặc PostgreSQL. Ngoài ra
Mattermost còn hỗ trợ các proxy như nginx hoặc apache 2

Hình 1: Cấu trúc của Mattermost Server

 Mattermost có thể gửi thông báo cho các thiết bị di động thông qua Service gửi
thông báo test của Mattermost hoặc người dùng có thể tự thiết lập service riêng
cho mình và build ứng dụng di động sử dụng các service đó.
 Sử dụng các phương thức HTTPS và WSS

3. Phần cứng
 Với các doanh nghiệp có khoảng 2000 người dùng, trong đó người dùng chia sẻ
file dưới dạng ảnh hoặc tài liệu có dung lượng không quá 5MB cần đáp ứng yêu
cầu phần cứng như sau:
o 2x vCPU/core
o 4GB RAM
o 350GB bộ nhớ (để lưu trữ dữ liệu trong vòng 1 năm)
 Trong trường hợp doanh nghiệp có hơn 2000 người dùng, Mattermost cung cấp
tool để Load Test. Bên cạnh đó, Mattermost cũng cung cấp một số ví dụ về cấu
trúc server cho số lượng user lớn.

Hình 2: Cấu trúc server mẫu cho 5000 người dùng của Mattermost
4. Phần mềm chat
 Phần mềm chat của Mattermost bao gồm 5 tính năng chính: Team, Kênh chat, Tin
nhắn, Thông báo và Tìm kiếm
 Một team bao gồm các thành viên của một đội ngũ. Tuỳ thuộc vào cơ cấu tổ chức,
một người dùng có thể tham gia một hoặc nhiều team. Người dùng có thể đổi giữa
các team để trao đổi bất cứ lúc nào

Hình 3: Chức năng team

 Các kênh chat được sử dụng để sắp xếp các cuộc trò chuyện dựa theo các chủ đề
khác nhau. Có 3 loại kênh chat: Kênh chat công cộng (Public Channels), riêng tư
(Private Channels), tin nhắn trực tiếp (Direct Message) và tin nhắn nhóm (Group
Message)
o Kênh công cộng là kênh chat cho phép tất cả mọi người trong team có thể
nhìn thấy và tham gia chat
o Kênh riêng tư chỉ dành cho các thành viên có quyền tham gia
o Tin nhắn trực tiếp là các tin nhắn giữa hai người (1:1). Tin nhắn nhóm là
các tin nhắn riêng tư của một nhóm gồm 3 người trở lên
 Người dùng có thể sửa đổi, xoá tin nhắn đã gửi, thêm đường dẫn hoặc chỉnh sửa
style của tin nhắn. Cụ thể, người dùng có thể:
o Tag người dùng trong tin nhắn
o Format text, thêm emoji, format code…
o Chia sẻ file
o Chạy các câu lệnh của các phần mềm, bot bên thứ ba
o Lưu và đánh dấu tin nhắn
o Thao tắc bằng các phím tắt

Hình 4: Ví dụ về format tin nhắn

 Người dùng có thể tìm kiếm lịch sử tin nhắn ở các kênh mà mình tham gia

You might also like