本系统为个人毕业设计的系统,采用分布式系统构架,保证服务的稳定性。目前系统已经开发完毕,现开源和大家一起分享学习。系统采用Apache License Version 2.0开源协议。
作者:吴梦升 邮箱:560130911@163.com
项目wiki文档:https://github.com/wu560130911/MultimediaDesktop/wiki(还在完善中)
具体的系统设计和功能文档将在后期完善。。。。。。。。。。。。
系统整个是一个Maven项目,包含三个子项目,分别是:Server-API、Server、Client。其中Server-API主要包含一些基本工具类和服务接口等,Server主要是业务逻辑和数据持久化,Client主要是WEB服务,处理web请求。
系统采用的技术主要有:Dubbo,memcache,mail,spring,fastjson,hibernate,druid,freemarker,jpa,spring data jpa,servlet3.1,shiro,fastjson,spring mvc,extjs4等
Zookeeper,MemCache,Mysql(默认,可选择其他的),Tomcat(默认,可以选择其他的),Maven,JDK 1.7+,dubbo admin,dubbo monitor
系统最外层由nginx进行处理,然后nginx对请求进行转发(静态文件和媒体文件特殊处理),如图所示。
当nginx分发请求到web集群后,web端的处理流程如图所示。
在deploy/sql里包含本系统的sql文件,导入数据库即可。管理员账号:wu560130911,密码:1234567
项目对打包进行了处理,服务端将打包成文件夹,包含执行脚本。消费端将打包成文件夹(war文件)和静态资源文件(经过压缩)。
请参见本人博文,分布式桌面多媒体共享平台。
系统采用shiro作为安全框架,目前只有三个角色的用户,使用Memcache作为分布式会话缓存(不依赖容器),将用户权限等信息存放在缓存中,如图所示。