推荐几个自己写的Java后端相关的范例项目

这里推荐几个自己写的范例项目,主要采用SSM(Spring+SpringMVC+Mybatis)框架,分布式架构采用的是(dubbo+zookeeper)。范例项目的好处是简单易懂,在架构一个新的项目的时候可以直接当成脚手架来用,方便快速开发,另外项目中涉及到以及未来可能涉及到的知识点都会不断完善。

三个项目是互相发展而来的,依次为(不断完善中):

一、优雅的SSM架构(Spring+SpringMVC+Mybatis)

Github地址:https://github.com/wosyingjun/beauty_ssm

  • Maven
  • Spring(IOC DI AOP 声明式事务处理)
  • SpringMVC(支持Restful风格)
  • Hibernate Validate(参数校验)
  • Mybatis(最少配置方案)
  • Quartz时间调度
  • Redis缓存(ProtoStuff序列化)
  • Redis Sentinel主从高可用方案
  • Redis Cluster集群高可用方案
  • Druid(数据源配置 sql防注入 sql性能监控)
  • 统一的异常处理
  • JSP JSTL JavaScript
  • Sping Shiro权限控制(待完善)

架构图:

二、对"优雅的SSM框架"进行完善(页面分离+nginx负载均衡+tomcat集群)

Github地址:https://github.com/wosyingjun/beauty_ssm_cluster

  • Maven
  • Spring(IOC DI AOP 声明式事务处理)
  • SpringMVC(支持Restful风格)
  • Hibernate Validate(参数校验)
  • Mybatis(最少配置方案)
  • Quartz时间调度
  • 统一的异常处理
  • Redis缓存(ProtoStuff序列化)
  • Redis Sentinel主从高可用方案
  • Redis Cluster集群高可用方案
  • Druid(数据源配置 sql防注入 sql性能监控)
  • 前后端分离(Html替代Jsp)
  • Nginx静态加载、负载均衡
  • 基于keepalived的nginx高可用方案
  • Tomcat集群(Redis共享Session)
  • Sping Shiro权限控制(待完善)

架构图:

三、将"优雅的SSM框架"拆分为分布式架构(基于dubbo+zookeeper)

Github地址:https://github.com/wosyingjun/beauty_ssm_dubbo

Dubbo的简单介绍和部署:http://wosyingjun.iteye.com/blog/2320127

  • Maven(模块化构建)
  • Spring(IOC DI AOP 声明式事务处理)
  • SpringMVC(支持Restful风格)
  • Hibernate Validate(参数校验)
  • Mybatis(最少配置方案)
  • Quartz时间调度
  • Redis缓存(ProtoStuff序列化)
  • Redis Sentinel主从高可用方案
  • Redis Cluster集群高可用方案
  • 基于keepalived的nginx高可用方案
  • Druid(数据源配置 sql防注入 sql性能监控)
  • Zookeeper高可用集群方案
  • Dubbo+Zookeeper分布式服务框架
  • 合理的分布式服务划分(common+api+service+web+mq)
  • dubbo服务设计原则、集群、负载均衡、线程模型
  • 资源调度和治理中心(SOA)(dubbo-admin)
  • 服务监控方案(dubbo-monitor)
  • 分布式系统中的异常处理
  • 分布式事务
  • 分布式锁(待完善)
  • 消息中间件 ActiveMQ 的引入
  • ActiveMQ 集群高可用方案

架构图:

原文发布于微信公众号 - java工会(javagonghui)

原文发表时间:2018-04-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏吴生的专栏

使用Spring AOP实现MySQL数据库读写分离案例分析

分布式环境下数据库的读写分离策略是解决数据库读写性能瓶颈的一个关键解决方案,更是最大限度了提高了应用中读取 (Read)数据的速度和并发量。

1502
来自专栏青青天空树

springboot配置读写分离

  近日工作任务较轻,有空学习学习技术,遂来研究如果实现读写分离。这里用博客记录下过程,一方面可备日后查看,同时也能分享给大家(网上的资料真的大都是抄来抄去,,...

2413
来自专栏用户2442861的专栏

使用IntelliJ IDEA开发SpringMVC网站(四)用户管理

转载请注明出处:Gaussic(一个致力于AI研究却不得不兼顾项目的研究生) 。

2421
来自专栏轻扬小栈

ubuntu debian 百度网盘的Python客户端 bypy

9064
来自专栏java、Spring、技术分享

java 日志处理

  common-logging是 apache提供的一个通用的日志接口。用户可以自由选择第三方的日志组件作为具体实现,像log4j,或者jdk自带的loggi...

3593
来自专栏Java帮帮-微信公众号-技术文章全总结

02.WebService_使用三要素

02.WebService_使用三要素 一、Java中WebService规范 JAVA 中共有三种WebService 规范,分别是JAX-WS、J...

3716
来自专栏大闲人柴毛毛

手把手0基础项目实战(三)——教你开发一套电商平台的安全框架

写在最前 本文是《手把手项目实战系列》的第三篇文章,预告一下,整个系列会介绍如下内容: 《手把手0基础项目实战(一)——教你搭建一套可自动化构建的微服务框架(S...

4636
来自专栏耕耘实录

Linux(Centos7.4和RHEL7.4)环境下基于chrony的NTP服务器的构建

版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢

1161
来自专栏青玉伏案

JavaEE开发之记事本完整案例(SpringBoot + iOS端)

上篇博客我们聊了《JavaEE开发之SpringBoot整合MyBatis以及Thymeleaf模板引擎》,并且在之前我们也聊了《Swift3.0服务端开发(五...

2225
来自专栏乐沙弥的世界

Linux 6 下编译安装 PHP 5.6

2122

扫码关注云+社区

领取腾讯云代金券