该项目准备融合mq、redis、websocket完成在线聊天后台程序,结合前端工程实现聊天工程
项目前提准备
创建聚合工程chat_mq_redis_websocket,创建2个module工程
配置2个module工程application.yml文件,连接mq和redis
mq根据特点将实现直连型交换机、扇形交换机、主题交换机
/cfg mq 配置 redis 配置
/controller 放置发送消息的服务
/receiver 放置消费消息的类
pom加入redis依赖,这里为了方便开发采用jedis方式,安装docker-redis ,由于docker版本的redis没有redis.conf配置文件,所以自己需要下载一个配置文件 并挂载到redis的镜像容器里,/myredis/conf为host主机配置文件地址,redis-server是以现在的目录进行启动redis 要下载源码然后解压,从里面找到redis.conf拷到对应的目录下
docker run -v /myredis/conf:/usr/local/etc/redis --name myredis redis redis-server /usr/local/etc/redis/redis.conf
开始引入mysql驱动、mybiats包,进行数据库配置并完成mybatis实现xml和注解形式的sql配置
http://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/
准备mybatis和jpa混合使用,单表、简单的查询直接jpa实现,复杂的多表查询用mybatis
用docker安装Elasticsearch,使用下非关系数据库保存聊天记录,支持海量数据查询
docker pull elasticsearch:6.8.4
$ docker network create esnetwork
$ docker run -d --name elasticsearch --net esnetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:6.8.4
docker exec -it es /bin/bash
cd config
vi elasticsearch.yml
添加如下内容,注意冒号后的空格,保存后,访问http://ip:9200,如果有返回,则运行正常
http.cors.enable: true
http.cors.allow-origin: "*"
安装了nginx,复习下反向代理、负载均衡
mybatis的insert返回是影响的行数,是0或1,只有到mapperxml里进行配置才会绑定主键id,可查询对象, 如UserMapper.xml里insertSelective方法的配置useGeneratedKeys="true" keyProperty="id"
druid使用,提供了数据库连接池,为了节省JDBC反复连接数据库、断开等导致的资源巨大浪费 ,druid的优点是还能监控数据库状况,并有web页面显示,在yml文件里配置了druid的监控配置 输入以下地址可以看到监控
http://localhost:8888/mq/druid/index.html
12.完成数据库主从配置后,开始用druid来做多数据源连接,主库写,从库读
13.通过引入spring cloud gateway,实现了基本的get/post方法路由转发
14.创建自定义的过滤器,通过yml的配置和代码配合实现自定义的各类过滤器,有全局的、有局部的,留意代码
15.引入slf4j日志系统,在yml里进行配置,在resource文件夹下创建logback-spring.xml的日志配置文件, 将日志保存到项目根目录的logs下
16.创建新工程oauth_authorize_server,搭建oauth2验证
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。