推荐几个自己写的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 条评论
登录 后参与评论

相关文章

来自专栏IT进修之路

原 Dubbo与Spring Cloud共

3365
来自专栏Golang语言社区

微服务架构介绍和RPC框架对比

一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API)。可通过全自动部署机制独立部...

1015
来自专栏A周立SpringCloud

Spring Cloud与Dubbo共存方案总结

一、背景 假设有一个遗留的Dubbo系统,现在想改用Spring Cloud。 由于遗留Dubbo系统比较庞大,短期之内无法完成技术栈的迁移。因此需要“分步走”...

4118
来自专栏斑斓

领域驱动设计中的架构要素

多数时候,领域驱动设计的分层架构并不能清晰表达各模块之间的依赖关系,以及这些模块在分层架构中所处的位置。因为我倾向于将Uncle Bob的Clean Archi...

774
来自专栏猿天地

聊聊Akka

当前社会,人们越来越享受互联网带来的种种便利,同时也对互联网产品有了更高的要求,比如更快的响应速度和更稳定的服务;另一方面,互联网产品在不断发展的过程中也面临着...

1062
来自专栏一个会写诗的程序员的博客

测试思考拾叶集测试万能公式自动化测试自动化测试分层自动化测试框架工具平台数据准备服务Bug

须理清“SUT的功能”,“SUT的所有输入”,“每一个输入的取值范围”,“SUT的所有输出”,“根据功能推出每一个输出的预期值”。

784
来自专栏无题

秒杀系统解决方案

从架构、产品、前端、后端四个层面针对秒杀场景(可以扩展到所有高并发场景)分别总结了一些解决方案。 要点总结: 1.架构:扩容,业务分离,数据分离 2.产品:下...

3284
来自专栏服务端技术杂谈

Weibo Mesh的发展

微博从2013年开发了Java语言的Motan RPC框架,基于此完成了服务化改造。Motan从2013年上线至今经历过每个热点事件,三节高峰的挑战,稳定性和可...

723
来自专栏IT大咖说

Java 生态圈与微服务

摘要 微服务是一个新兴的软件架构,就是把一个大型的单个应用程序和服务拆分为数十个的支持微服务。一个微服务的策略可以让工作变得更为简便,它可扩展单个组件而不是整个...

2999
来自专栏用户画像

软件测试计划

软件测试计划是指导测试过程的纲领性文件,包括产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、测试风险等内容。

764

扫码关注云+社区