基於SignalR實現聊天通訊,支援橫向擴充套件,可支撐上萬使用者同時線上聊天
http://server.tokengo.top:8888/ 可在這裡快速體驗使用,請注意目前只適配了PC端,請勿使用手機存取,可能出現樣式不適應的情況,
當然如果你想要自己部署也可以,目前提供了docker compose映象一鍵部署
下面是docker-compose
程式碼
services:
postgres:
image: postgres:15.3-alpine3.18
restart: always
container_name: postgres
ports:
- 5432:5432
networks:
- chat
environment:
POSTGRES_USER: token
POSTGRES_PASSWORD: dd666666
POSTGRES_DB: Chat
volumes:
- ./postgres_data:/var/lib/postgresql/data
redis:
image: redis:alpine3.16
restart: always
container_name: redis
ports:
- 6379:6379
networks:
- chat
command: redis-server --appendonly yes
volumes:
- ./redisdata:/data
nginx:
image: nginx:stable-alpine
restart: always
container_name: nginx
networks:
- chat
ports:
- 1080:80
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf
chat-web:
build:
context: ./web
dockerfile: ./Dockerfile
container_name: chat-web
image: registry.cn-shenzhen.aliyuncs.com/gotrays/chat-web
restart: always
depends_on:
- redis
- postgres
networks:
- chat
chat-api:
build:
context: ./
dockerfile: ./src/Chat.Service/Dockerfile
container_name: chat-api
image: registry.cn-shenzhen.aliyuncs.com/gotrays/chat-api
restart: always
depends_on:
- redis
- postgres
networks:
- chat
networks:
chat:
driver: bridge
注,容器並不會一次性啟動成功,可能由首次啟動的時候postgres未初始化成功導致Api服務啟動失敗,可能需要重啟服務
後端技術棧採用
Web介面預覽,
並且輸入框支援直接cv圖片,當我們點選傳送的時候會將圖片和文字拆分傳送。
後端專案結構
gitee:https://gitee.com/hejiale010426/chat
github https://github.com/239573049/chat
技術交流群 :737776595