公司服务器
CentOS 7
Nginx
tomcat
mysql or oracle
建议使用:Redis
推荐理由:公司一直在使用、同事熟练程度高。
MetaQ or kafka
建议使用:kafka
推荐理由:虽然MetaQ我一直在使用并没有问题、但是由于作者基本不更新社区活跃程度低。反而Kafka社区活跃、各大网站有成熟的解决方案、提供可参考的应用实例多。
一个简单的持续集成架构图如下: 如上持续集成可以实现开发、测试、生产自动化部署管控。方便调试。
略
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1,Struts2等。
推荐使用理由:公司项目中一直在使用并且也是时下流行的技术框架。
熟练程度:熟练使用。
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。 2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。 iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)
推荐使用理由:简单易用的配置可以直接通过SQL解决复杂的业务场景。学习成本不算高、替代hibernate。
熟练程度:熟练使用。
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说, Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。
推荐使用理由:公司项目中一直在使用并且也是时下流行的技术框架。
熟练程度:熟练
Dubbo是一个被国内很多互联网公司广泛使用的开源分布式服务框架,即使从国际视野来看应该也是一个非常全面的SOA基础框架。 作为一个重要的技术研究课题,在当当网我们根据自身的需求,为Dubbo实现了一些新的功能,并将其命名为Dubbox(即Dubbo eXtensions)。
推荐使用理由:可以解决系统与系统之间复杂调用、可以实现面向服务SOA编程。简单实现系统服务化发布与治理。
熟练程度:熟练使用dubbo服务发布和服务治理。如果可能可以快速将单一系统重构为分布式服务架构系统。
freemarker:
它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。
而且还易学易用。
beetl功能与Freemarker功能比较: http://javamonkey.iteye.com/blog/1573346
velocity freemarker比较: http://lishumingwm163-com.iteye.com/blog/933365
推荐使用理由:FreeMarker在公司系统中已经广泛使用、但是个人深深被beetl简单易用所吸引因此推荐使用。
熟练程度:熟练使用(因为类似FreeMarker、文档丰富、学习成本低)
在一些配置文件较多较的复杂的情况下,使用该配置工具比较可以简化配置文件的解析和管理。也提高了开发效率和软件的可维护性。
推荐使用理由:如果长期考虑建议使用 disconf 。开发、测试、生产运维实现界面配置、后期扩展性高。如果单独一个子系统使用Commons Configuration足矣。
熟练程度:可以快速搭建disconf服务器并应用到项目中。
logback 和 slf4j 配合使用
推荐使用理由:公司项目中一直在使用并且也是时下流行的技术框架。
熟练程度:熟练使用。并可以结合logback搭建系统错误邮件报警提醒。
建议使用 FastJson。参考网址:https://github.com/alibaba/fastjson
推荐使用理由: 零依赖、性能高、强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum)。业内广泛使用。
熟练程度:熟练使用
建议使用 druid 为监控而生的数据库连接池。参考网址:https://github.com/alibaba/druid
推荐使用理由:druid为监控而生、DruidDataSource 高效可管理的数据库连接池。替换DBCP和C3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池
熟练程度:熟练使用。