实现系统热部署扩展功能的cms:MRCMS

    作者:课课家教育更新于: 2016-02-01 15:30:16

    大神带你学编程,欢迎选课

      MRCMS简介

      MR 代表的是mushroom,翻译中文为蘑菇。名称灵感来源于七采蘑菇这么一个说法,根据MRCMS自身的一些特点,因此命名为蘑菇内容管理系统。后台采用java语言和与Java无缝集成的Groovy脚本语言作为支撑,实现系统热部署扩展功能。

    如何将代码不经任何修改的部署到多个平台_java开发工程师_课课家

      项目背景

      在开放、自由的中国互联网中,CMS领域做的公司或者个人很多,其中使用php、ASP、JSP等语言开发的为主流语言。PHP、ASP、JSP优点在于他们的动态执行代码。这里我们就说说JSP,每次更新都要编译为class字节码,可能有时候还会出现问题,而且面向过程开发,维护性差。受到目前主流的MVC开发模式影响,那我们可以使用Servlet+JSP来实现啊,不错,我们是这样做的!但是后台的开发效率要提高,这里我们选择了SpringMVC作为后台的框架。我们要做的就是颠覆,什么呢? ”No JSP!“,在项目的架构中,不使用JSP,我们同样达到了在线实时动态扩展功能,而不必重启服务器带来的时间成本。(更多项目历史性资料登录官方网站浏览)

      技术架构

      服务端后台:SpringMVC、Spring Data、URL规则引擎、缓存、数据库连接池、线程池、Freemarker模板引擎、线程安全相关技术、性能优化

      Web前端:HTML5、CSS3、jQuery(及其插件)、Ueditor、Echarts、缓存、前端性能优化、浏览器兼容处理(不支持IE8)、字体图标

      设计风格:扁平化设计

      测试工具:Spring Test、Apache JMeter、各种浏览器(Chrome/Firefox/Safari/Opera/IE11)

      (目前项目采用github分享源代码,maven构建项目)

      系统架构图

      待绘制...

      运行环境

      服务器(经过测试的):

      window server(Jre6/tomcat6/mysql5)

      Linux(openjdk6/tomcat7/mysql5)

      (如果有必要,同样可以搭建Nginx服务器做反向代理,MRCMS支持获取用户真实IP地址)

      在你使用源码时,各种报错原因:

      1. maven环境问题

      2. weixinapi.jar 可以pom依赖配置可以删除,因为MRCMS没有完全集成微信功能。

      3. mysql数据库驱动没有,建议放入tomcat lib目录

      4. 建议使用JMTServer,这个是在百度网盘共享的集成环境。

      测试结果分享

      测试环境:{系统: win8.1,内存: 8G,CPU: 2.6GHz,硬盘:7200转/秒}

      通过Apache的Jmeter测试并发500次/秒,系统仍然稳定运行,平均访问消耗时长为0.3秒左右。

      如果你有什么需求,可以关注官方微信公众号,发送给公众号,我将记录你的意见或者建议。

      (最近有朋友拿官方网站测试,每天PV都达到W级记录,你们太厉害了!

      ,重要的是官方网站没有崩溃 )

      特点介绍

      支持URL规则重写、页面关键字和描述满足网站地址SEO需求。

      采用c3p0作为数据库连接池提高Web执行性能。

      采用freemarker作为模板引擎,所以你可以在模板中写freemarker标签。

      采用内容模型和插件支持,提高系统扩展性。

      采用主流加密技术,保证站点后台安全性。

      提供网站碎片功能,在模板中直接获取碎片内容。

      支持Nginx反向代理引擎,可以获取用户真实IP地址。

      支持纯真IP数据库,记录地理位置信息,防范黑客攻击。

      增加了栏目URL重定向功能

      支持markdown语法,实现模型、插件帮助文档编写。

      支持Groovy开发插件应用

      采用百度Echarts图形化统计用户前台访问数据,抓取用户访问信息,提高流量转化率。

      国际化支持,自定义各个国家语言在模板中做数据绑定。

      添加了页面静态化支持,我们可以将动态生成页面,持久化降低计算时间,从而提高网站性能。

      更新了文章编辑器,提供HTML、text/markdown编辑功能。

      更多功能正在开发中...

      扩展接口

      扩展系统只要遵循MRCMS模块开发规范,可开发一下扩展

      配置引擎扩展

      URL引擎扩展

      过滤器扩展

      标签扩展

      内容模型扩展

      服务端后台扩展API(Java)

      管理界面扩展API(Javascript)

课课家教育

未登录